跳到主要内容

OpenTelemetry - 使用任何可观测性工具追踪 LLM

OpenTelemetry 是一个 CNCF 可观测性标准。它可以连接到任何可观测性工具,例如 Jaeger、Zipkin、Datadog、New Relic、Traceloop 等。

入门

安装 OpenTelemetry SDK

pip install opentelemetry-api opentelemetry-sdk opentelemetry-exporter-otlp

设置环境变量(不同的提供商可能需要不同的变量)

OTEL_EXPORTER="otlp_http"
OTEL_ENDPOINT="https://api.traceloop.com"
OTEL_HEADERS="Authorization=Bearer%20<your-api-key>"

只需 1 行代码,即可使用 OpenTelemetry 跨所有提供商即时记录您的 LLM 响应

litellm.callbacks = ["otel"]

从 OpenTelemetry 日志记录中隐藏消息和响应内容

从所有 OpenTelemetry 日志记录中隐藏消息和响应

设置 litellm.turn_off_message_logging=True。这将阻止消息和响应被记录到 OpenTelemetry,但请求元数据仍会被记录。

从特定的 OpenTelemetry 日志记录中隐藏消息和响应

在通常用于文本补全或 Embedding 调用的元数据中,您可以设置特定的键来屏蔽此调用的消息和响应。

mask_input 设置为 True 将屏蔽此调用的输入日志记录。

mask_output 设置为 True 将屏蔽此调用的输出日志记录。

请注意,如果您正在继续一个现有的追踪,并且将 update_trace_keys 设置为包含 inputoutput,同时设置了相应的 mask_inputmask_output,那么该追踪中现有的输入和/或输出将被替换为已隐藏的消息。

支持

对于集成中的任何问题,您可以联系 OpenLLMetry 维护者,通过 Slack电子邮件

故障排除

追踪 LiteLLM Proxy 在失败请求中的用户/密钥/组织/团队信息

LiteLLM 发送 user_api_key_metadata

  • 密钥哈希
  • 密钥别名
  • 组织 ID
  • 用户 ID
  • 团队 ID

对于成功和失败的请求

在追踪中点击 litellm_request 下方