> ## Documentation Index
> Fetch the complete documentation index at: https://cndoc-langchain.site/llms.txt
> Use this file to discover all available pages before exploring further.

# 设置追踪的采样率

在处理高流量应用时，您可能不希望将每条追踪都记录到 LangSmith。采样率允许您控制记录追踪的百分比，帮助您在可观测性需求与成本考量之间取得平衡。

## 设置全局采样率

<Note>
  本节适用于使用 LangSmith SDK 或 LangChain 的用户，不适用于直接使用 LangSmith API 记录数据的用户。
</Note>

默认情况下，所有追踪都会记录到 LangSmith。要降低记录到 LangSmith 的追踪数量，请将 `LANGSMITH_TRACING_SAMPLING_RATE` 环境变量设置为 `0`（无追踪）到 `1`（所有追踪）之间的任意浮点数。例如，设置以下环境变量将记录 75% 的追踪。

```bash theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
export LANGSMITH_TRACING_SAMPLING_RATE=0.75
```

此设置对 `traceable` 装饰器和 `RunTree` 对象有效。

## 为不同客户端设置不同的采样率

您也可以在特定的 `Client` 实例上设置采样率，并使用 `tracing_context` 上下文管理器：

```python theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
from langsmith import Client, tracing_context

# 创建具有不同采样率的客户端
client_1 = Client(tracing_sampling_rate=0.5)  # 50% 采样
client_2 = Client(tracing_sampling_rate=0.25)  # 25% 采样
client_no_trace = Client(tracing_sampling_rate=0.0)  # 不追踪

# 为不同操作使用不同的采样率
with tracing_context(client=client_1):
    # 您的代码在此处 - 将以 50% 的采样率进行追踪
    agent_1.invoke(...)

with tracing_context(client=client_2):
    # 您的代码在此处 - 将以 25% 的采样率进行追踪
    agent_1.invoke(...)

with tracing_context(client=client_no_trace):
    # 您的代码在此处 - 不会被追踪
    agent_1.invoke(...)
```

这允许您在操作级别控制采样率。

## 采样或条件追踪

采样提供了对追踪量的**概率性**控制，而[条件追踪](/langsmith/conditional-tracing)则基于业务逻辑提供**确定性**控制。

当您希望在保持应用行为统计代表性的同时减少整体追踪量时，请使用**采样**。

当您需要对特定请求保证追踪行为时，请使用[条件追踪](/langsmith/conditional-tracing)，例如：

* 为具有零保留策略的客户端禁用追踪。
* 根据租户将追踪路由到不同的项目。
* 处理绝不应被追踪的敏感数据。

您可以结合这两种方法，对您的可观测性策略进行细粒度控制。

***

<div className="source-links">
  <Callout icon="terminal-2">
    [将这些文档连接](/use-these-docs)到 Claude、VSCode 等工具，通过 MCP 获取实时答案。
  </Callout>

  <Callout icon="edit">
    [在 GitHub 上编辑此页面](https://github.com/langchain-ai/docs/edit/main/src/langsmith/sample-traces.mdx) 或 [提交问题](https://github.com/langchain-ai/docs/issues/new/choose)。
  </Callout>
</div>
