Cette page n'est pas encore disponible en français, sa traduction est en cours.
Si vous avez des questions ou des retours sur notre projet de traduction actuel,
n'hésitez pas à nous contacter.
Overview
Get cost estimation, prompt and completion sampling, error tracking, performance metrics, and more out of LangChain Python library requests using Datadog metrics, APM, and logs.
Setup
Installation
- Enable APM and StatsD in your Datadog Agent. For example, in 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
- Install the Datadog APM Python library.
pip install ddtrace>=1.17
- Prefix your LangChain Python application command with
ddtrace-run
.
DD_SERVICE="my-service" DD_ENV="staging" DD_API_KEY=<DATADOG_API_KEY> ddtrace-run python <your-app>.py
Note: If the Agent is using a non-default hostname or port, be sure to also set DD_AGENT_HOST
, DD_TRACE_AGENT_PORT
, or DD_DOGSTATSD_PORT
.
See the APM Python library documentation for more advanced usage.
Configuration
See the APM Python library documentation for all the available configuration options.
Log Prompt & Completion Sampling
To enable log prompt and completion sampling, set the DD_LANGCHAIN_LOGS_ENABLED=1
environment variable. By default, 10% of traced requests will emit logs containing the prompts and completions.
To adjust the log sample rate, see the APM library documentation.
Note: Logs submission requires DD_API_KEY
to be specified when running ddtrace-run
.
Validation
Validate that the APM Python library can communicate with your Agent using:
You should see the following output:
Debug Logging
Pass the --debug
flag to ddtrace-run
to enable debug logging.
This displays any errors sending data:
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'
Data Collected
Metrics
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 |
Events
The LangChain integration does not include any events.
Service Checks
The LangChain integration does not include any service checks.
Troubleshooting
Need help? Contact Datadog support.