Skip to main content
LangChainLangGraph 应用支持基于 OpenTelemetry 的追踪。您可以不直接将追踪数据发送到 LangSmith,而是通过您控制的 OpenTelemetry 收集器进行路由,应用脱敏规则以剥离敏感字段,然后将净化后的追踪数据转发到 LangSmith。 追踪数据通过 OTLP/HTTP 从您的应用流向收集器。收集器运行一个转换处理器,在将净化后的 span 转发到 LangSmith API 之前,脱敏敏感的 span 属性,例如提示输入和模型补全。

前提条件

以下两种方法都需要以下环境变量。将 OTEL_EXPORTER_OTLP_ENDPOINT 设置为您的收集器地址:
有关 LANGSMITH_PROJECT 的更多信息,请参阅将追踪记录到特定项目

配置收集器

两种方法都需要一个作为中介运行在您的应用和 LangSmith 之间的 OpenTelemetry 收集器。以下配置在端口 4318 上设置了一个 OTLP 接收器、一个脱敏 gen_ai.promptgen_ai.completion span 属性的转换处理器,以及一个将净化后的追踪数据转发到 LangSmith API 的导出器:

使用 LangChain 或 LangGraph 进行追踪

如果您的应用已经使用 LangChainLangGraph,请使用此方法。追踪集成会根据您的环境变量自动处理 span 创建,因此无需额外的检测代码:

直接使用 OpenTelemetry SDK 进行追踪

如果您需要以编程方式控制追踪提供者和导出器,请使用此方法。例如,设置每个请求的项目名称或在运行时配置自定义头部。您在代码中显式配置提供者,而不是仅依赖环境变量:
如果您希望在不通过收集器路由的情况下脱敏敏感数据,请参阅防止在追踪中记录敏感数据