Este producto no es compatible con el
sitio Datadog seleccionado. (
).
Descripción general
Prompt Tracking vincula las plantillas de prompt y las versiones con las llamadas a LLM. Prompt Tracking funciona junto con las trazas, los tramos y el Playground de Agent Observability, así como con Prompt Management, que proporciona un registro centralizado para crear y versionar prompts.
Prompt Tracking le permite:
- Ver todos los prompts utilizados por su aplicación o agente de LLM, con el volumen de llamadas y la latencia a lo largo del tiempo
- Comparar prompts o versiones por llamadas, latencia, tokens utilizados y costo
- Visualizar información detallada sobre un prompt: revisar su historial de versiones, visualizar un diff de texto y saltar a las trazas usando una versión específica.
- Filtrar Trace Explorer por nombre, ID o versión de prompt para aislar las solicitudes afectadas
- Reproduzca una ejecución completando el Agent Observability Playground con la plantilla y las variables exactas de cualquier tramo.
Configurar Prompt Tracking
Cuando Agent Observability está habilitado, los prompts obtenidos del registro de Prompt Management con LLMObs.get_prompt() se rastrean automáticamente si el valor devuelto por prompt.format() se pasa directamente a una llamada de LLM compatible e instrumentada automáticamente. Si el valor formateado se copia o transforma, utilice LLMObs.annotation_context() como se describe en la documentación de Prompt Management. Las siguientes opciones de configuración se aplican a los prompts definidos fuera del registro.
Para usar Prompt Tracking, puede enviar metadatos de prompt estructurados (ID, versión opcional, plantilla, variables).
SDK de Python para Agent Observability
Si utiliza el SDK de Python para Agent Observability (dd-trace v3.16.0+), adjunte los metadatos del prompt al tramo de LLM usando el argumento o asistente prompt. Consulte la documentación del SDK de Python para Agent Observability.
SDK de Node.js para Agent Observability
Si utiliza el SDK de Node.js para Agent Observability (dd-trace v5.83.0+), adjunte los metadatos del prompt al tramo de LLM usando la opción prompt. Consulte la documentación del SDK de Node.js para Agent Observability.
API de Agent Observability
Si utiliza la ingesta de la API de Agent Observability, envíe los metadatos del prompt al punto de conexión de la API de Tramos. Consulte la documentación de referencia de la API HTTP de Agent Observability.
Instrumentación de OpenTelemetry
Si está utilizando la instrumentación de OpenTelemetry, puede adjuntar metadatos de prompt a sus tramos de LLM configurando el atributo _dd.ml_obs.prompt_tracking con una cadena JSON que contenga la información de su prompt.
Establezca el atributo en cualquier tramo de LLM:
import json
span.set_attribute("_dd.ml_obs.prompt_tracking", json.dumps({
"name": "greeting-prompt",
"version": "v1",
"template": "Hello {{name}}, tell me about {{topic}}",
"variables": {"name": "Alice", "topic": "weather"}
}))
span.setAttribute("_dd.ml_obs.prompt_tracking", JSON.stringify({
name: "greeting-prompt",
version: "v1",
template: "Hello {{name}}, tell me about {{topic}}",
variables: { name: "Alice", topic: "weather" }
}));
span.SetAttributes(attribute.String("_dd.ml_obs.prompt_tracking",
`{"name":"greeting-prompt","version":"v1","template":"Hello {{name}}, tell me about {{topic}}","variables":{"name":"Alice","topic":"weather"}}`,
))
Los siguientes campos son compatibles en el JSON de Prompt Tracking:
| Campo | Tipo | Requerido | Descripción |
|---|
template | string | Sí (o chat_template) | Cadena de plantilla para prompts de mensaje único |
chat_template | array | Sí (o template) | Lista de {"role": "...", "content": "..."} plantillas de mensaje |
id | string | No | Identificador único para el prompt. El valor predeterminado es {ml_app}_unnamed-prompt si se omite |
name | string | No | Nombre del prompt. Se utiliza como alternativa para id si id se omite |
version | string | No | Etiqueta de versión proporcionada por el usuario |
variables | object | No | Sustituciones de variables de plantilla |
rag_context_variables | array of strings | No | Nombres de variables en variables que contienen contexto RAG (valor de referencia). Utilizado por evaluadores de RAG |
rag_query_variables | array of strings | No | Nombres de variables en variables que contienen la consulta del usuario. Utilizado por evaluadores de RAG |
Si está utilizando plantillas de prompt, Agent Observability puede adjuntar automáticamente información de versión basada en el contenido del prompt.
Con plantillas de LangChain
Si está utilizando plantillas de prompt de LangChain, Datadog captura automáticamente los metadatos del prompt sin cambios en el código. Los ID se derivan de los nombres de los módulos o plantillas. Para anular estos ID, consulte Agent Observability Auto-instrumentation: LangChain.
Utilice Prompt Tracking en Agent Observability
Vea su aplicación en Agent Observability y seleccione Prompts a la izquierda. Prompts view presenta la siguiente información:
- Prompt Call Count: Un gráfico de series temporales que muestra las llamadas por prompt (o por versión) a lo largo del tiempo
- Recent Prompt Updates: Información sobre actualizaciones recientes de prompts, incluyendo la hora de la última actualización, el recuento de llamadas, la latencia promedio y el promedio de tokens por llamada
- Most Tokens Used: Prompts clasificados por el total de tokens (de entrada o salida)
- Highest Latency Prompts: Prompts clasificados por duración promedio
Haga clic en un prompt para abrir una vista de panel lateral detallada que presenta información sobre la actividad de la versión y varias métricas. También puede ver una vista de diferencias de dos versiones, abrir Trace Explorer prefiltrado a los tramos que utilizan una versión seleccionada, o iniciar una sesión de Playground precargada con la plantilla y las variables de la versión seleccionada.
Puede utilizar el Agent Observability Trace Explorer para localizar solicitudes por uso de prompts. Puede utilizar el nombre, el ID y la versión de un prompt como facetas para la búsqueda tanto a nivel de traza como a nivel de tramo. Haga clic en cualquier tramo de LLM para ver el prompt que lo generó.
Lecturas adicionales
Documentación, enlaces y artículos útiles adicionales: