Datadog Tracing
ddtrace 是一個 Datadog 應用程式效能監控 (APM) 函式庫,它提供整合功能來監控您的 LangChain 應用程式。
ddtrace LangChain 整合的主要功能
- 追蹤:擷取 LangChain 請求、參數、提示完成,並協助視覺化 LangChain 操作。
- 指標:擷取 LangChain 請求延遲、錯誤,以及 Token/成本用量(適用於 OpenAI LLM 和聊天模型)。
- 日誌:儲存每個 LangChain 操作的提示完成資料。
- 儀表板:將指標、日誌和追蹤資料合併到單一平面,以監控 LangChain 請求。
- 監控器:針對 LangChain 請求延遲或錯誤率的飆升提供警報。
注意:ddtrace LangChain 整合目前為 LLM、聊天模型、文字嵌入模型、鏈和向量儲存庫提供追蹤功能。
安裝與設定
- 在您的 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 整合可以透過在應用程式中首次匯入 langchain
之前新增 patch_all()
或 patch(langchain=True)
以程式設計方式啟用。
請注意,使用 ddtrace-run
或 patch_all()
也會啟用 requests
和 aiohttp
整合,以追蹤對 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% 的追蹤請求將會發出包含提示和完成的日誌。
若要調整日誌取樣率,請參閱 APM 函式庫文件。
注意:提交日誌需要在執行 ddtrace-run
時指定 DD_API_KEY
。
疑難排解
需要協助嗎?請在 ddtrace 上建立 issue,或聯絡 Datadog 支援。