Skip to main content
ddtrace 是 Datadog 应用性能监控(APM)库,提供集成以监控您的 LangChain 应用。
ddtrace 的 LangChain 集成主要功能:
  • 追踪:捕获 LangChain 请求、参数、提示-补全内容,并可视化 LangChain 操作。
  • 指标:捕获 LangChain 请求延迟、错误及 token/成本使用情况(适用于 OpenAI LLM 和聊天模型)。
  • 日志:存储每个 LangChain 操作的提示补全数据。
  • 仪表盘:将指标、日志和追踪数据合并到单一平面以监控 LangChain 请求。
  • 监控器:对 LangChain 请求延迟或错误率激增提供警报。
注意:ddtrace LangChain 集成目前提供对 LLM、聊天模型、文本嵌入模型、链和向量存储的追踪。

安装与设置

  1. 在 Datadog Agent 中启用 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
注意:如果 Agent 使用非默认主机名或端口,请确保同时设置 DD_AGENT_HOSTDD_TRACE_AGENT_PORTDD_DOGSTATSD_PORT 此外,可以通过在应用中第一次导入 langchain 之前添加 patch_all()patch(langchain=True) 来以编程方式启用 LangChain 集成。 注意,使用 ddtrace-runpatch_all() 还会启用 requestsaiohttp 集成(追踪对 LLM 提供商的 HTTP 请求),以及 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 span
# patch(langchain=True, openai=True)patch_all
有关更高级的用法,请参阅 APM Python 库文档

配置

有关所有可用配置选项,请参阅 APM Python 库文档

日志提示和补全采样

要启用日志提示和补全采样,请设置环境变量 DD_LANGCHAIN_LOGS_ENABLED=1。默认情况下,10% 的追踪请求会发出包含提示和补全内容的日志。 要调整日志采样率,请参阅 APM 库文档 注意:日志提交需要在运行 ddtrace-run 时指定 DD_API_KEY

故障排除

需要帮助?请在 ddtrace 上创建 issue,或联系 Datadog 支持