Supported OS Linux Windows Mac OS

概要

Datadog のメトリクス、APM、ログを使用して、LangChain Python ライブラリのリクエストから、コストの見積もり、プロンプトとコンプリーションのサンプリング、エラー追跡、パフォーマンスメトリクスなどを取得します。

セットアップ

インストール

  1. 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
  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_HOSTDD_TRACE_AGENT_PORTDD_DOGSTATSD_PORT も必ず設定してください。

より高度な使い方については、APM Python ライブラリドキュメントを参照してください。

構成

利用可能なすべての構成オプションについては、APM Python ライブラリドキュメントを参照してください。

ログプロンプトとコンプリーションサンプリング

ログのプロンプトとコンプリーションサンプリングを有効にするには、環境変数 DD_LANGCHAIN_LOGS_ENABLED=1 を設定します。デフォルトでは、トレースされたリクエストの 10% がプロンプトとコンプリーションを含むログを出力します。

ログのサンプルレートを調整するには、APM ライブラリのドキュメントを参照してください。

: ログを送信するには、ddtrace-run を実行する際に DD_API_KEY を指定する必要があります。

検証

APM Python ライブラリを使用して Agent と通信できることを確認します。

ddtrace-run --info

次の出力が表示されるはずです。

    Agent error: None

デバッグロギング

ddtrace-run--debug フラグを渡すと、デバッグロギングが有効になります。

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 のサポートチームまでお問い合わせください。