跳转到主要内容

将 Datadog 与 CrewAI 集成

本指南将演示如何使用 Datadog 自动检测Datadog LLM 可观测性CrewAI 集成。通过本指南,您将能够向 Datadog 提交 LLM 可观测性跟踪,并在 Datadog LLM 可观测性的 Agentic Execution View 中查看您的 CrewAI 代理运行情况。

什么是 Datadog LLM 可观测性?

Datadog LLM 可观测性 可帮助 AI 工程师、数据科学家和应用程序开发人员快速开发、评估和监控 LLM 应用程序。通过结构化实验、跨 AI 代理的端到端跟踪和评估,自信地提高输出质量、性能、成本和整体风险。

开始入门

安装依赖项

pip install ddtrace crewai crewai-tools

设置环境变量

如果您没有 Datadog API 密钥,您可以创建一个帐户获取您的 API 密钥 您还需要在以下环境变量中指定 ML 应用程序名称。ML 应用程序是与特定基于 LLM 的应用程序关联的 LLM 可观测性跟踪的分组。有关 ML 应用程序名称限制的更多信息,请参阅 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
此外,配置任何 LLM 提供商 API 密钥
export OPENAI_API_KEY=<YOUR_OPENAI_API_KEY>
export ANTHROPIC_API_KEY=<YOUR_ANTHROPIC_API_KEY>
export GEMINI_API_KEY=<YOUR_GEMINI_API_KEY>
...

创建一个 CrewAI 代理应用程序

# 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"))

使用 Datadog 自动检测运行应用程序

设置好环境变量后,您现在可以使用 Datadog 自动检测运行应用程序。
ddtrace-run python crewai_agent.py

在 Datadog 中查看跟踪

运行应用程序后,您可以在 Datadog LLM 可观测性的跟踪视图 中查看跟踪,从左上角的下拉菜单中选择您选择的 ML 应用程序名称。 单击跟踪将显示跟踪的详细信息,包括使用的总令牌、LLM 调用次数、使用的模型和估计成本。单击特定的跨度将缩小这些详细信息,并显示相关的输入、输出和元数据。
Datadog LLM Observability Trace View
此外,您可以查看跟踪的执行图视图,它显示了跟踪的控制流和数据流,这将随着更大的代理而扩展,以显示 LLM 调用、工具调用和代理交互之间的交接和关系。
Datadog LLM Observability Agent Execution Flow View

参考资料