LANGSMITH_TRACING=true 时,追踪数据会自动发送到 LangSmith。本指南将展示如何针对特定请求选择性地禁用或自定义追踪。
tracing_context 上下文管理器(Python)和 tracingEnabled 选项(TypeScript)允许你在运行时覆盖全局追踪设置,而无需重构代码或更改环境变量。
在以下情况下使用条件追踪:
- 遵守数据保留政策:某些客户可能出于合规性或隐私原因要求零数据保留。
- 处理敏感操作:对涉及个人身份信息(PII)、凭证或机密数据的操作禁用追踪。
- 实现按租户配置:根据客户将追踪路由到不同的项目或应用不同的设置。
- 控制成本:对低价值请求禁用追踪,同时保持对关键操作的可见性。
- 支持功能开关:仅在特定功能或实验性代码路径激活时启用追踪。
以下部分提供了特定语言的示例,你可以根据你的应用程序逻辑和业务需求进行调整。
- Python
- TypeScript
追踪上下文的工作原理
当你使用tracing_context 上下文管理器时,它会覆盖其作用域内执行的代码的全局追踪配置。这意味着你可以在全局保持自动追踪启用的同时,选择性地控制特定函数调用的追踪行为。控制优先级分为三个级别:tracing_context(enabled=...):最高优先级(用于作用域追踪控制的上下文管理器)。ls.configure(enabled=...):全局配置(设置全局追踪行为)。- 环境变量:最低优先级(
LANGSMITH_TRACING)。
为特定调用禁用追踪
要为特定操作禁用追踪,将其包装在enabled=False 的 tracing_context 中:基于业务逻辑启用条件追踪
你可以根据运行时条件(例如客户端设置或请求属性)动态启用或禁用追踪。按请求自定义追踪配置
你还可以动态自定义追踪设置,例如将追踪路由到不同的项目或添加请求特定的元数据。- 多租户应用程序:将不同客户的追踪隔离在单独的项目中
- 区域部署:按地理区域跟踪性能和行为
- 功能分支:将实验性功能的追踪路由到专用项目
- 用户细分:按用户层级、群组或 A/B 测试组分析行为
与自动追踪配合使用
tracing_context 上下文管理器可与自动追踪配合使用。你可以全局保持 LANGSMITH_TRACING=true 设置,并使用 tracing_context 来覆盖特定请求的设置:嵌套追踪上下文
当你嵌套tracing_context 块时,最内层的上下文具有最高优先级。Python
在已部署的代理中自定义追踪
在 LangSmith Deployment 的 Agent Server 中,默认启用追踪。使用 工厂函数 时,你可以用tracing_context 包装生成的图,以控制每次执行的追踪。这对于添加自定义元数据、完全禁用追踪或根据已认证用户自定义追踪非常有用。为图禁用追踪
按用户追踪
可重用的追踪包装器
创建一个装饰器来自动应用条件追踪逻辑。Python
与采样的比较
条件追踪和 采样 服务于不同的目的:
你可以结合两种方法以实现细粒度控制。
相关链接
- 无需环境变量进行追踪:以编程方式配置追踪,而不是使用环境变量。
- 设置追踪采样率:概率性采样追踪以减少数据量
- 屏蔽输入和输出:在追踪中隐藏敏感数据,而不是完全禁用追踪。
- 向追踪添加元数据和标签:使用自定义属性对追踪进行分类和过滤。
Connect these docs to Claude, VSCode, and more via MCP for real-time answers.

