Skip to main content
在 GitHub 上打开

Datadog Tracing

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

LangChain 的 ddtrace 集成的主要功能:

  • 跟踪:捕获 LangChain 请求、参数、提示补全,并帮助可视化 LangChain作。
  • 指标:捕获 LangChain 请求延迟、错误和令牌/成本使用情况(适用于 OpenAI LLM 和聊天模型)。
  • 日志:存储每个 LangChain作的提示完成数据。
  • Dashboard:将指标、日志和跟踪数据合并到一个平面中,以监控 LangChain 请求。
  • 监视器:提供警报以响应 LangChain 请求延迟或错误率的峰值。

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

安装和设置

  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:
DD_SERVICE="my-service" DD_ENV="staging" DD_API_KEY=<DATADOG_API_KEY> ddtrace-run python <your-app>.py

注意:如果 Agent 使用非默认主机名或端口,请务必同时设置DD_AGENT_HOST,DD_TRACE_AGENT_PORTDD_DOGSTATSD_PORT.

此外,可以通过添加patch_all()patch(langchain=True)在首次导入langchain在您的应用程序中。

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

from ddtrace import config, patch

# Note: be sure to configure the integration before calling ``patch()``!
# e.g. config.langchain["logs_enabled"] = True

patch(langchain=True)

# to trace synchronous HTTP requests
# patch(langchain=True, requests=True)

# to trace asynchronous HTTP requests (to the OpenAI library)
# patch(langchain=True, aiohttp=True)

# to include underlying OpenAI spans from the OpenAI integration
# patch(langchain=True, openai=True)patch_all

有关更高级的用法,请参阅 APM Python 库文档

配置

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

日志提示和完成采样

要启用日志提示和完成采样,请将DD_LANGCHAIN_LOGS_ENABLED=1环境变量。默认情况下,10% 的跟踪请求将发出包含 Prompt 和 Completion 的日志。

要调整对数采样率,请参阅 APM 库文档

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

故障 排除

需要帮助?在 ddtrace 上创建问题或联系 Datadog 支持人员。