Skip to main content

Datadog追踪

ddtrace是Datadog的应用性能监控(APM)库,提供了一个集成来监控您的LangChain应用程序。

ddtrace集成LangChain的主要特点包括:

  • 追踪:捕获LangChain请求、参数、提示完成,并帮助可视化LangChain操作。

  • 指标:捕获LangChain请求延迟、错误,以及令牌/成本使用情况(适用于OpenAI的LLMs和聊天模型)。

  • 日志:为每个LangChain操作存储提示完成数据。

  • 仪表板:将指标、日志和追踪数据合并到一个单一平面中,以监视LangChain请求。

  • 监视器:对LangChain请求延迟或错误率上升提供警报。

注意:ddtrace LangChain集成目前为LLMs、聊天模型、文本嵌入模型、链和向量存储提供追踪。

安装和设置

  1. 在Datadog代理中启用APM和StatsD,以及Datadog API密钥。例如,在Docker中:
docker run -d --cgroupns host \
--pid host \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
-v /proc/:/host/proc/:ro \
-v /sys/fs/cgroup/:/host/sys/fs/cgroup:ro \
-e DD_API_KEY=<DATADOG_API_KEY> \
-p 127.0.0.1:8126:8126/tcp \
-p 127.0.0.1:8125:8125/udp \
-e DD_DOGSTATSD_NON_LOCAL_TRAFFIC=true \
-e DD_APM_ENABLED=true \
gcr.io/datadoghq/agent:latest
  1. 安装Datadog APM Python库。
pip install ddtrace>=1.17
  1. 当您在LangChain Python应用程序命令前加上ddtrace-run前缀时,LangChain集成可以自动启用:
DD_SERVICE="my-service" DD_ENV="staging" DD_API_KEY=<DATADOG_API_KEY> ddtrace-run python <your-app>.py

注意:如果代理正在使用非默认主机名或端口,请确保还设置DD_AGENT_HOSTDD_TRACE_AGENT_PORTDD_DOGSTATSD_PORT

此外,通过在应用程序中的第一个langchain导入之前添加patch_all()patch(langchain=True),也可以以编程方式启用LangChain集成。

请注意,使用ddtrace-runpatch_all()还将启用对LLM提供商的HTTP请求进行追踪的requestsaiohttp集成,以及对OpenAI库的请求进行追踪的openai集成。

from ddtrace import config, patch
# 注意:在调用``patch()``之前确保配置集成!
# 例如 config.langchain["logs_enabled"] = True
patch(langchain=True)
# 追踪同步HTTP请求
# patch(langchain=True, requests=True)
# 追踪异步HTTP请求(到OpenAI库)
# patch(langchain=True, aiohttp=True)
# 包括来自OpenAI集成的底层OpenAI跨度
# patch(langchain=True, openai=True)patch_all

查看APM Python库文档以获取更高级的用法。

配置

查看APM Python库文档以获取所有可用的配置选项。

日志提示和完成采样

要启用日志提示和完成采样,请设置DD_LANGCHAIN_LOGS_ENABLED=1环境变量。默认情况下,10%的追踪请求将生成包含提示和完成的日志。

要调整日志采样率,请参阅APM库文档

注意:提交日志需要在运行ddtrace-run时指定DD_API_KEY

故障排除

需要帮助吗?在ddtrace上创建问题,或联系Datadog支持


Was this page helpful?


You can leave detailed feedback on GitHub.