LLM Responses Perplexity en tiempo real
DataForSEO
SEO, search-engine results, keyword research, backlinks and AI visibility data.
LLM Responses Perplexity en tiempo real
Envía un user_prompt a un modelo de Perplexity y devuelve su respuesta de forma síncrona. model_name debe proceder de get_dataforseo_ai_perplexity_llm_responses_models: sonar, sonar-pro y sonar-reasoning-pro. web_search_country_iso_code delimita la búsqueda, algo que los otros tres proveedores no ofrecen. Devuelve model_name, input_tokens, output_tokens, reasoning_tokens, web_search, money_spent, datetime, items y fan_out_queries. Lee money_spent en la respuesta para ver cuánto costó realmente un prompt. Envuelto en el sobre de DataForSEO: los datos en tasks[0].result, el resultado en tasks[0].status_code; una solicitud rechazada sigue devolviendo HTTP 200.
Referencia de precios
- Medición: Costo de respuesta reportado.
- Estimación de referencia por solicitud: USD 0.0163.
- Multiplicador de referencia del cliente: 1.0. No lo apliques de nuevo a un importe de cliente ya liquidado.
Solo metadatos de referencia, no una cotización de la cuenta, un precio garantizado ni un límite de gasto. Los créditos de recursos no son créditos de Felo. Los cargos finales se rigen por los registros de facturación de Felo.
- Tipo: array (object | null)[]
- maxTipo: integer | null
_output _tokens número máximo de tokens en la respuesta de la IA
campo opcional
valor mínimo:1
valor máximo:4096;
valor predeterminado:2048;
Nota: si se especifica el modelo de razonamiento en la solicitud, el recuento de tokens de salida puede superar el límitemax_output_tokensespecificado - messageTipo: array (object | null)[] | null
_chain historial de la conversación campo opcional array de objetos de mensaje que representan turnos anteriores de la conversación; cada objeto debe contener: role string con el rol user o ai; message string con el contenido del mensaje (máximo 500 caracteres); puedes especificar un máximo de 10 objetos de mensaje en el array; Nota: para modelos Perplexity, los mensajes deben alternar estrictamente entre los roles user y ai (user → ai); ejemplo: "message_chain": [{"role":"user","message":"Hello, what’s up?"},{"role":"ai","message":"Hello! I’m doing well, thank you. How can I assist you today?"}]
- messageTipo: string | null
texto del mensaje
- roleTipo: string | null
rol del usuario del que procede el mensaje
- modelTipo: string
_name nombre del modelo de IA
campo obligatoriomodel_nameconsta del nombre real del modelo y el nombre de la versión;
si se especifica el nombre básico del modelo, se definirá su versión más reciente de forma predeterminada;
puedes obtener la lista de modelos LLM disponibles haciendo una solicitud independiente al siguiente endpoint:https://api.dataforseo.com/v3/ai_optimization/perplexity/llm_responses/models - systemTipo: string | null
_message instrucciones para el comportamiento de la IA
campo opcional
define el rol, el tono o el comportamiento específico de la IA
puedes especificar hasta 500 caracteres en el camposystem_message - tagTipo: string | null
identificador de tarea definido por el usuario
campo opcional
el límite de caracteres es 255
puedes usar este parámetro para identificar la tarea y relacionarla con el resultado
encontrarás el valor detagespecificado en el objetodatade la respuesta - temperatureTipo: number | null
aleatoriedad de la respuesta de la IA
campo opcional
los valores más altos hacen que la salida sea más diversa
los valores más bajos hacen que la salida sea más enfocada
valor mínimo:0
valor máximo:1.9
valor predeterminado:0.77 - topTipo: number | null
_p diversidad de la respuesta de la IA
campo opcional
controla la diversidad de la respuesta limitando la selección de tokens
valor mínimo:0
valor máximo:1
valor predeterminado:0.9 - userTipo: string
_prompt prompt para el modelo de IA
campo obligatorio
la pregunta o tarea que quieres enviar al modelo de IA;
puedes especificar hasta 500 caracteres en el campouser_prompt - webTipo: string | null
_search _country _iso _code código de país para la localización de la búsqueda web
campo opcional
especifica el código ISO del país para obtener resultados de búsqueda web localizados
Nota: disponible solo para modelos Perplexity Sonar
ejemplo:US
- Tipo: object | null · Response36Afe1097B20_AiOptimizationPerplexityLlmResponsesLiveResponseInfo200
- Tipo: number | null Formato: doublecost
costo total de las tareas, USD
- Tipo: integer | nullstatus
_code código de estado general puedes encontrar la lista completa de los códigos de respuesta aquí
- Tipo: string | nullstatus
_message mensaje informativo general puedes encontrar la lista completa de los mensajes informativos generales aquí
- Tipo: array (object | null)[] | nulltasks
array de tareas
- Tipo: object | null · Response36Afe1097B20_AiOptimizationPerplexityLlmResponsesLiveTaskInfo
- costTipo: number | null Formato: double
costo total de las tareas, USD
- dataTipo: object | null
contiene los mismos parámetros que especificaste en la solicitud POST
- propertyTipo: object | null
Name
- idTipo: string | null
identificador de la tarea identificador único de la tarea en nuestro sistema en formato UUID
- pathTipo: array (string | null)[] | null
ruta de la URL
- resultTipo: array (object | null)[] | null
array de resultados
- datetimeTipo: string | null
fecha y hora en que se recibió el resultado
en formato UTC: “yyyy-mm-dd hh-mm-ss +00:00”
ejemplo:2019-11-15 12:57:46 +00:00 - fanTipo: object | null
_out _queries array de consultas de fan-out
contiene consultas de búsqueda relacionadas derivadas de la consulta principal para ofrecer una respuesta más completa - inputTipo: integer | null
_tokens número de tokens en la entrada
recuento total de tokens procesados - itemsTipo: array (object | null)[] | null
array de elementos de respuesta
contiene datos estructurados de respuesta de IA- Tipo: object | null · Response36Afe1097B20_MessageAiOptimizationLlmResponseElementItem
- Tipo: object · Response36Afe1097B20_MessageAiOptimizationLlmResponseElementItem
- typeDiscriminadorTipo: string | null
tipo de elemento
- sectionsTipo: array (object | null)[] | null
secciones de la cadena de razonamiento
array de objetos que contiene las secciones de la cadena de razonamiento generadas por el LLM- annotationsTipo: array (object | null)[] | null
array de referencias usadas para generar la respuesta
equivale anullsi el parámetroweb_searchno está definido comotrue
Nota:annotationspuede devolver un valor vacío incluso cuandoweb_searchestrue, ya que la IA intentará recuperar información web, pero puede que no encuentre resultados relevantes- directTipo: string | null
_url URL directa a la fuente citada
contiene la URL de la fuente original a la que lleva la redirección de Vertex AI en el campourl - endTipo: integer | null
_index fin de la indexación de la anotación
- startTipo: integer | null
_index inicio de la indexación de la anotación
- textTipo: string | null
texto de la sección de la cadena de razonamiento
texto de la sección de la cadena de razonamiento que resume el proceso de pensamiento del modelo - titleTipo: string | null
el nombre de dominio o título de la fuente citada
- urlTipo: string | null
URL de redirección a la fuente citada
contiene una redirección de Vertex AI que lleva a la fuente original
- textTipo: string | null
texto de la sección de la cadena de razonamiento
texto de la sección de la cadena de razonamiento que resume el proceso de pensamiento del modelo - typeTipo: string | null
tipo de elemento
- modelTipo: string | null
_name nombre del modelo de IA utilizado
- moneyTipo: number | null
_spent - outputTipo: integer | null
_tokens número de tokens en la salida
recuento total de tokens generados en la respuesta de IA - reasoningTipo: integer | null
_tokens Integer numbers.
- webTipo: boolean | null
_search indica si se utilizó la búsqueda web
Nota: la búsqueda web está activada de forma predeterminada en los modelos Perplexity Sonar
- resultTipo: integer | null Formato: int64
_count número de elementos en el array de resultados
- statusTipo: integer | null
_code código de estado de la tarea generado por DataForSEO; puede estar dentro del siguiente intervalo: 10000-60000 puedes encontrar la lista completa de los códigos de respuesta aquí
- statusTipo: string | null
_message mensaje informativo de la tarea puedes encontrar la lista completa de los mensajes informativos generales aquí
- timeTipo: string | null
tiempo de ejecución, segundos
- Tipo: integer | null Formato: int64tasks
_count el número de tareas en el array de tareas
- Tipo: integer | null Formato: int64tasks
_error el número de tareas en el array de tareas devueltas con un error
- Tipo: string | nulltime
tiempo total de ejecución, en segundos
- Tipo: string | nullversion
la versión actual de la API
application/json - 400
No se pudo procesar la solicitud. Comprueba los parámetros de la solicitud.
- 401
Se requiere una clave de API de Felo válida.
- 402
La solicitud no puede continuar porque no se cumple un requisito de facturación.
- 403
La cuenta no tiene permiso para realizar esta operación.
- 429
Se ha alcanzado un límite de solicitudes o de gasto.
- 502
El servicio no pudo completar la solicitud.
- 503
La API o el servicio de facturación no están disponibles temporalmente.
- 504
El servicio agotó el tiempo de espera al procesar la solicitud.
- default
Respuesta de error; las respuestas de paso del upstream pueden usar formatos del proveedor
application/json
curl https://openapi.felo.ai/v1/beta/dataforseo/ai_optimization/perplexity/llm_responses/live \
--request POST \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
--data '[
{
"system_message": "communicate as if we are in a business meeting",
"message_chain": [
{
"role": "user",
"message": "Hello, what’s up?"
},
{
"role": "ai",
"message": "Hello! I’m doing well, thank you. How can I assist you today? Are there any specific topics or projects you’d like to discuss in our meeting?"
}
],
"max_output_tokens": 200,
"temperature": 0.3,
"top_p": 0.5,
"web_search_country_iso_code": "FR",
"model_name": "sonar",
"user_prompt": "provide information on how relevant the amusement park business is in France now"
}
]'
{
"version": null,
"status_code": null,
"status_message": null,
"time": null,
"cost": null,
"tasks_count": null,
"tasks_error": null,
"tasks": [
{
"id": null,
"status_code": null,
"status_message": null,
"time": null,
"cost": null,
"result_count": null,
"path": [
null
],
"data": null,
"result": [
{
"model_name": null,
"input_tokens": null,
"output_tokens": null,
"reasoning_tokens": null,
"web_search": null,
"money_spent": null,
"datetime": null,
"items": [
{
"type": "[Max Depth Exceeded]",
"sections": "[Max Depth Exceeded]"
}
],
"fan_out_queries": null
}
]
}
]
}