概要
Datadog のメトリクス、APM、ログを使用して、LangChain Python ライブラリのリクエストから、コストの見積もり、プロンプトとコンプリーションのサンプリング、エラー追跡、パフォーマンスメトリクスなどを取得します。
セットアップ
インストール
- Datadog Agent で APM と StatsD を有効化します。例えば、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
のプレフィックスを付けます。
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
も必ず設定してください。
より高度な使い方については、APM Python ライブラリドキュメントを参照してください。
構成
利用可能なすべての構成オプションについては、APM Python ライブラリドキュメントを参照してください。
ログプロンプトとコンプリーションサンプリング
ログのプロンプトとコンプリーションサンプリングを有効にするには、環境変数 DD_LANGCHAIN_LOGS_ENABLED=1
を設定します。デフォルトでは、トレースされたリクエストの 10% がプロンプトとコンプリーションを含むログを出力します。
ログのサンプルレートを調整するには、APM ライブラリのドキュメントを参照してください。
注: ログを送信するには、ddtrace-run
を実行する際に DD_API_KEY
を指定する必要があります。
検証
APM Python ライブラリを使用して Agent と通信できることを確認します。
次の出力が表示されるはずです。
デバッグロギング
ddtrace-run
に --debug
フラグを渡すと、デバッグロギングが有効になります。
データ送信時のエラーを表示します。
ERROR:ddtrace.internal.writer.writer:failed to send, dropping 1 traces to intake at http://localhost:8126/v0.5/traces after 3 retries ([Errno 61] Connection refused)
WARNING:ddtrace.vendor.dogstatsd:Error submitting packet: [Errno 61] Connection refused, dropping the packet and closing the socket
DEBUG:ddtrace.contrib._trace_utils_llm.py:sent 2 logs to 'http-intake.logs.datadoghq.com'
収集データ
メトリクス
langchain.request.duration (gauge) | Request duration distribution. Shown as nanosecond |
langchain.request.error (count) | Number of errors. Shown as error |
langchain.tokens.completion (gauge) | Number of tokens used in the completion of a response. Shown as token |
langchain.tokens.prompt (gauge) | Number of tokens used in the prompt of a request. Shown as token |
langchain.tokens.total (gauge) | Total number of tokens used in a request and response. Shown as token |
langchain.tokens.total_cost (count) | Estimated cost in USD based on token usage. Shown as dollar |
イベント
LangChain インテグレーションには、イベントは含まれません。
サービスチェック
LangChain インテグレーションには、サービスのチェック機能は含まれません。
トラブルシューティング
ご不明な点は、Datadog のサポートチームまでお問い合わせください。