Este producto no es compatible con el sitio Datadog seleccionado. ().

Información general

Correlaciona sesiones RUM y LLM Observability para obtener más visibilidad sobre cómo interactúa tu aplicación web con los agentes de IA. Esta correlación te ayuda a comprender el recorrido completo del usuario conectando las interacciones del usuario frontend con el procesamiento de IA backend.

El enlace entre RUM y LLM Observability se crea reenviando el ID de la sesión RUM al SDK de LLM Observability.

Requisitos previos

Antes de empezar, asegúrate de que tienes:

Configuración

Paso 1: Configurar el SDK de tu navegador RUM

Asegúrate de que el SDK de tu navegador RUM está correctamente inicializado en tu aplicación web. Para obtener instrucciones de configuración detalladas, consulta la guía de configuración del navegador RUM.

Necesitas enviar tu ID de sesión RUM en cada llamada desde tu aplicación web a un agente de IA. Consulta los ejemplos siguientes.

import { datadogRum } from '@datadog/browser-rum'

datadogRum.init({
  /* RUM Browser SDK configuration */
});

Paso 2: Modificar las llamadas a tu IA frontend

Actualiza tu aplicación web para incluir el ID de sesión RUM en cada llamada a tu agente de IA. Para obtener más información sobre la gestión de sesiones RUM, consulta la documentación del navegador RUM.

 /**
 * Example call to an AI Agent.
 *
 * We send the `session_id` in the body of the request. If the call to the AI agent
 * needs to be a GET request, the `session_id` can be sent as a query param.
 */
 const response = await fetch("/ai-agent-endpoint", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify({ message, session_id: datadogRum.getInternalContext().session_id }),
});

Paso 3: Actualizar tu manejador backend

Modifica tu código del lado del servidor para extraer el ID de sesión y trasladarlo al SDK de LLM Observability. Para una configuración detallada de LLM Observability, consulta la guía de configuración de LLM Observability.

# Read the session_id from the incoming request
class MessagesHandler:
    def __init__(self, handler):
        try:
            post_data = handler.rfile.read(content_length)

            # Parse the JSON message
            message_data = json.loads(post_data.decode('utf-8'))
            message = message_data.get('message', '')

            # Read the session_id
            current_session_id = message_data.get('session_id', None)

            # Call AI Agent and pass the session_id
            await agent_loop(
                messages=messages,
                model="claude-3-7-sonnet-20250219",
                provider="anthropic",
                api_key=os.getenv("ANTHROPIC_API_KEY"),
                max_tokens=4096,
                session_id=current_session_id,
                # Other kwargs your agent might need
            )
        except Exception as e:
            handler.send_error(500, str(e))

Utiliza el SDK de LLM Observability para instrumentar tu agente y tus herramientas e indica al SDK de LLM Observability cuál debe ser el session_id.

Paso 4: Instrumentar tu agente de IA

Utiliza el SDK de LLM Observability para instrumentar tu agente y asociarlo a la sesión RUM. Para una referencia detallada, consulta la documentación del SDK de LLM Observability.

async def agent_loop(
    session_id,
    # Other kwargs
):
    LLMObs.annotate(
        span=None,
        tags={"session_id": session_id},
    )
    # Rest of your agent code

Una vez finalizada la configuración, podrás navegar entre los datos correlacionados:

  • De RUM a LLM: En una sesión RUM, haz clic en el botón “LLM Traces” (Trazas de LLM) en la cabecera del panel lateral para ver las interacciones de IA asociadas.
  • De LLM a RUM: En una traza de LLM, haz clic en el enlace “RUM Session” (Sesión RUM) para ver la repetición de la sesión de usuario correspondiente.

Referencias adicionales

Más enlaces, artículos y documentación útiles: