Skip to main content
当您全局设置了环境变量 LANGSMITH_TRACING=true 时,追踪数据会自动发送到 LangSmith。本指南将向您展示如何为特定请求选择性地禁用或自定义追踪。 tracing_context 上下文管理器(Python)和 tracingEnabled 选项(TypeScript)允许您在运行时覆盖全局追踪设置,无需重构代码或更改环境变量。 当您需要以下情况时,请使用条件追踪:
  • 遵守数据保留策略:某些客户可能出于合规或隐私原因要求零数据保留。
  • 处理敏感操作:对涉及个人身份信息(PII)、凭证或机密数据的操作禁用追踪。
  • 实现每租户配置:根据客户将追踪路由到不同项目或应用不同设置。
  • 控制成本:对低价值请求禁用追踪,同时保持对关键操作的可见性。
  • 支持功能标志:仅在特定功能或实验性代码路径激活时启用追踪。
以下部分提供了特定语言的示例,您可以根据应用逻辑和业务需求进行调整。

追踪上下文的工作原理

当您使用 tracing_context 上下文管理器时,它会覆盖其作用域内执行代码的全局追踪配置。这意味着您可以保持全局自动追踪启用,同时选择性地控制特定函数调用的追踪行为。有三个优先级的控制级别:
  1. tracing_context(enabled=...):最高优先级(用于作用域追踪控制的上下文管理器)。
  2. ls.configure(enabled=...):全局配置(设置全局追踪行为)。
  3. 环境变量:最低优先级(LANGSMITH_TRACING)。

为特定调用禁用追踪

要为特定操作禁用追踪,请将其包装在 enabled=Falsetracing_context 中:
此模式适用于您知道特定数据不应被记录的一次性情况。

根据业务逻辑启用条件追踪

您可以根据运行时条件(如客户端设置或请求属性)动态启用或禁用追踪。

根据请求自定义追踪配置

您还可以动态自定义追踪设置,例如将追踪路由到不同项目或添加特定于请求的元数据。
此模式适用于:
  • 多租户应用程序:在单独的项目中按客户隔离追踪
  • 区域部署:按地理区域跟踪性能和行为
  • 功能分支:将实验性功能追踪路由到专用项目
  • 用户细分:按用户层级、群组或 A/B 测试组分析行为

与自动追踪配合使用

tracing_context 上下文管理器与自动追踪配合工作。您可以保持 LANGSMITH_TRACING=true 全局设置,并使用 tracing_context 为特定请求覆盖设置:

嵌套追踪上下文

当您嵌套 tracing_context 块时,最内层的上下文优先。
Python
当您想在通常不追踪的部分中临时启用追踪进行调试时,这会很有用。

在部署的代理中自定义追踪

在 LangSmith 部署的 Agent Server 中,追踪默认启用。使用工厂函数时,您可以将生成的图包装在 tracing_context 中,以按执行控制追踪。这对于添加自定义元数据、完全禁用追踪或根据经过身份验证的用户自定义追踪非常有用。

为图禁用追踪

按用户追踪

可复用的追踪包装器

创建一个装饰器来自动应用条件追踪逻辑。
Python

与采样的比较

条件追踪和采样服务于不同的目的: 您可以结合两种方法以实现细粒度控制。

相关内容