Datadog追踪(Datadog Tracing)
ddtrace是一个Datadog应用性能监控(APM)库,它提供了一个集成来监控您的LangChain应用程序。
ddtrace集成LangChain的主要功能:
- 追踪:捕获LangChain请求、参数、提示完成,并帮助可视化LangChain操作。
- 指标:捕获LangChain请求的延迟、错误以及令牌/成本使用情况(适用于OpenAI LLM和Chat Models)。
- 日志:为每个LangChain操作存储提示完成数据。
- 仪表盘:将指标、日志和追踪数据合并到一个平面中,以监控LangChain请求。
- 监视器:对LangChain请求延迟或错误率的激增提供警报。
注意:ddtrace LangChain集成目前提供LLMs、Chat Models、Text Embedding Models、Chains和Vectorstores的追踪。
安装和设置(Installation and Setup)
- 在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
- 安装Datadog APM Python库。
pip install ddtrace>=1.17
- 当您在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_HOST
、DD_TRACE_AGENT_PORT
或DD_DOGSTATSD_PORT
。
此外,通过在应用程序的第一个langchain
导入之前添加patch_all()
或patch(langchain=True)
,可以以编程方式启用LangChain集成。
请注意,使用ddtrace-run
或patch_all()
还将启用对LLM提供商的HTTP请求进行追踪的requests
和aiohttp
集成,以及对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库文档][https://ddtrace.readthedocs.io/en/stable/installation_quickstart.html]。
配置(Configuration)
有关所有可用配置选项,请参阅[APM Python库文档][https://ddtrace.readthedocs.io/en/stable/integrations.html#langchain]。
日志提示和完成采样(Log Prompt & Completion Sampling)
要启用日志提示和完成采样,请设置DD_LANGCHAIN_LOGS_ENABLED=1
环境变量。默认情况下,10%的追踪请求将发出包含提示和完成的日志。
要调整日志采样率,请参阅[APM库文档][https://ddtrace.readthedocs.io/en/stable/integrations.html#langchain]。
注意:在运行ddtrace-run
时,日志提交需要指定DD_API_KEY
。
故障排除(Troubleshooting)
需要帮助吗?在ddtrace上创建一个问题,或联系[Datadog支持][https://docs.datadoghq.com/help/]。