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

Esta guía muestra cómo integrar LLM Observability con CrewAI utilizando la instrumentación automática. También muestra cómo enviar trazas (traces) de LLM Observability a Datadog y ver las ejecuciones del Agent de CrewAI en la vista de ejecución de Agents de Datadog.

Empezando

Instalar dependencias

Ejecuta este comando para instalar las dependencias necesarias:

pip install ddtrace crewai crewai-tools

Configurar variables de entorno

Si no dispones de una clave de API Datadog, crea una cuenta y obtén tu clave de API.

También es necesario especificar un nombre de aplicación ML en las siguientes variables de entorno. Una aplicación ML es una agrupación de trazas de LLM Observability asociadas a una aplicación específica basada en LLM. Consulta la directrices de nomenclatura de aplicaciones para obtener más información sobre las limitaciones de los nombres de las aplicaciones ML.

export DD_API_KEY=<YOUR_DD_API_KEY>
export DD_SITE=<YOUR_DD_SITE>
export DD_LLMOBS_ENABLED=true
export DD_LLMOBS_ML_APP=<YOUR_ML_APP_NAME>
export DD_LLMOBS_AGENTLESS_ENABLED=true
export DD_APM_TRACING_ENABLED=false

Además, configura cualquier clave de API del proveedor LLM:

export OPENAI_API_KEY=<YOUR_OPENAI_API_KEY>
export ANTHROPIC_API_KEY=<YOUR_ANTHROPIC_API_KEY>
export GEMINI_API_KEY=<YOUR_GEMINI_API_KEY>
...

Crear una aplicación de Agent de CrewAI

El siguiente ejemplo crea un Agent de CrewAI para resolver un problema sencillo:

# crewai_agent.py
from crewai import Agent, Task, Crew

from crewai_tools import (
    WebsiteSearchTool
)

web_rag_tool = WebsiteSearchTool()

writer = Agent(
    role="Writer",
    goal="You make math engaging and understandable for young children through poetry",
    backstory="You're an expert in writing haikus but you know nothing of math.",
    tools=[web_rag_tool],
)

task = Task(
    description=("What is {multiplication}?"),
    expected_output=("Compose a haiku that includes the answer."),
    agent=writer
)

crew = Crew(
    agents=[writer],
    tasks=[task],
    share_crew=False
)

output = crew.kickoff(dict(multiplication="2 * 2"))

Ejecutar la aplicación con la instrumentación automática de Datadog

Una vez configuradas las variables de entorno, puedes ejecutar la aplicación con la instrumentación automática Datadog.

ddtrace-run python crewai_agent.py

Ver trazas en Datadog

Después de ejecutar la aplicación, puedes ver las trazas en Vista de trazas de Datadog LLM Observability, seleccionando el nombre de la aplicación ML que has elegido en el desplegable superior izquierdo.

Al hacer clic en una traza se muestra su información, incluido el total de tokens utilizados, el número de llamadas LLM, los modelos utilizados y el coste estimado. Al hacer clic en un tramo (span) específico se reduce esta información y se muestran los datos de entradas, salidas y metadatos relacionados.

Una traza en LLM Observability, en que el usuario ha hecho clic en un tramo del flujo de trabajo de CrewAI, con la vista de 'Información del tramo' activada. A la izquierda, una vista de árbol de las llamadas de herramientas y de LLM. Se muestran entradas, salidas y metadatos.

Además, puedes ver la vista del gráfico de ejecución de la traza, que muestra su flujo de control y de datos. Esto se amplía con agentes más grandes para mostrar los traspasos y las relaciones entre las llamadas LLM, las llamadas a herramientas y las interacciones de los Agents.

La misma traza en LLM Observability con la vista del 'Gráfico de ejecución' activada. Se muestra el flujo de control y de datos de la traza.