> ## 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 追踪。

LangSmith 通过捕获 [*追踪*](/langsmith/observability-concepts#traces) 为您提供对大语言模型应用的端到端可见性；追踪是请求期间运行的每个步骤的完整记录，从传入的输入到返回的最终输出。

在本快速入门中，您将为一个 AI 助手添加追踪，并在 LangSmith 中查看结果。

<Tip>
  如果您正在使用 [LangChain](https://docs.langchain.com/oss/python/langchain/overview) 或 [LangGraph](https://docs.langchain.com/oss/python/langgraph/overview) 进行构建，您可以通过单个环境变量启用 LangSmith 追踪。请参阅 [使用 LangChain 追踪](/langsmith/trace-with-langchain) 或 [使用 LangGraph 追踪](/langsmith/trace-with-langgraph)。
</Tip>

## 前提条件

在开始之前，请确保您已具备：

* **一个 LangSmith 账户**：在 [smith.langchain.com](https://smith.langchain.com) 注册或登录。
* **一个 LangSmith API 密钥**：按照 [创建 API 密钥](/langsmith/create-account-api-key) 指南操作。
* **一个 OpenAI API 密钥**：从 [OpenAI 控制面板](https://platform.openai.com/account/api-keys) 生成。

本示例使用 OpenAI 作为大语言模型提供商。您可以将其调整为您自己的提供商。

## 1. 设置您的环境

1. 创建一个项目目录，安装依赖项，并配置所需的环境变量：

   <CodeGroup>
     ```bash Python theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
     mkdir ls-quickstart && cd ls-quickstart
     python -m venv .venv && source .venv/bin/activate
     pip install -U langsmith openai
     ```

     ```bash TypeScript theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
     mkdir ls-quickstart-ts && cd ls-quickstart-ts
     npm init -y
     npm install langsmith openai
     npm install -D typescript tsx
     ```
   </CodeGroup>

2. 在您的 shell 中导出环境变量：

   ```bash theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
   export LANGSMITH_TRACING=true
   export LANGSMITH_API_KEY="<your-langsmith-api-key>"
   export OPENAI_API_KEY="<your-openai-api-key>"
   ```

   <Note>
     要将跟踪数据发送到特定项目，请使用 [`LANGSMITH_PROJECT` 环境变量](/langsmith/log-traces-to-project)。如果未设置该变量，LangSmith 将在跟踪数据摄取时自动创建一个默认跟踪项目。
   </Note>

   如果您使用的是 Anthropic，请使用 [Anthropic 包装器](/langsmith/trace-anthropic)。如果您使用的是 Google Gemini，请使用 [Gemini 包装器](/langsmith/trace-with-google-gemini)。对于其他提供商，请使用 [`@traceable` 装饰器](/langsmith/annotate-code#use-%40traceable-%2F-traceable) 手动追踪调用。

## 2. 构建应用

以下应用使用两个 LangSmith 工具来添加追踪：

* **`wrap_openai`**：包装 OpenAI 客户端，以便每次大语言模型调用都自动记录为一个嵌套跨度。
* **`@traceable`**：包装一个函数，使其输入、输出和任何嵌套跨度在 LangSmith 中显示为单个追踪。

`assistant` 函数调用一个工具 (`get_context`) 来检索相关上下文，然后将该上下文传递给模型。在两个函数上使用 `@traceable` 可以将整个管道捕获在一个追踪中，工具调用和大语言模型调用作为嵌套跨度。

创建一个名为 `app.py`（或 `index.ts`）的文件，包含以下代码：

<CodeGroup>
  ```python Python theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
  from openai import OpenAI
  from langsmith.wrappers import wrap_openai
  from langsmith import traceable

  client = wrap_openai(OpenAI())  # 自动记录每次 OpenAI 调用

  @traceable(run_type="tool")  # 将此追踪为工具跨度
  def get_context(question: str) -> str:
      # 在真实应用中，这会查询知识库或向量存储
      return "LangSmith 追踪在开发者计划中保留 14 天。"

  @traceable  # 将整个管道捕获为单个追踪
  def assistant(question: str) -> str:
      context = get_context(question)
      response = client.chat.completions.create(
          model="gpt-5.4-mini",
          messages=[
              {
                  "role": "system",
                  "content": f"使用以下上下文回答。\n\n上下文：{context}",
              },
              {"role": "user", "content": question},
          ],
      )
      return response.choices[0].message.content

  if __name__ == "__main__":
      print(assistant("LangSmith 追踪保留多久？"))
  ```

  ```typescript TypeScript theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
  import OpenAI from "openai";
  import { wrapOpenAI } from "langsmith/wrappers";
  import { traceable } from "langsmith/traceable";

  const client = wrapOpenAI(new OpenAI()); // 自动记录每次 OpenAI 调用

  const getContext = traceable(
      async function getContext(question: string): Promise<string> { // 将此追踪为工具跨度
          // 在真实应用中，这会查询知识库或向量存储
          return "LangSmith 追踪在开发者计划中保留 14 天。";
      },
      { run_type: "tool" }
  );

  const assistant = traceable(async function assistant(question: string) { // 将整个管道捕获为单个追踪
      const context = await getContext(question);
      const response = await client.chat.completions.create({
          model: "gpt-5.4-mini",
          messages: [
              {
                  role: "system",
                  content: `使用以下上下文回答。\n\n上下文：${context}`,
              },
              { role: "user", content: question },
          ],
      });
      return response.choices[0]?.message?.content ?? null;
  });

  (async () => {
      console.log(await assistant("LangSmith 追踪保留多久？"));
  })();
  ```
</CodeGroup>

## 3. 运行应用

<CodeGroup>
  ```bash Python theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
  python app.py
  ```

  ```bash TypeScript theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
  npx tsx index.ts
  ```
</CodeGroup>

## 4. 查看您的追踪

在 [LangSmith UI](https://smith.langchain.com) 中，转到 **追踪** 并选择您的 **default** 项目。点击 `assistant` 行以打开 **追踪** 详情面板，其中显示了 `assistant` 函数，其中嵌套了 `get_context` 工具调用和 OpenAI 调用。

<img className="block dark:hidden" src="https://mintcdn.com/other-405835d4/kU99RLuXybYOidw_/langsmith/images/trace-quickstart-app.png?fit=max&auto=format&n=kU99RLuXybYOidw_&q=85&s=4d220f730d55d18bfdb11e5bcd7398d9" alt="LangSmith UI 显示一个追踪，其中包含外部应用跨度和嵌套的大语言模型调用跨度。" width="2504" height="1266" data-path="langsmith/images/trace-quickstart-app.png" />

<img className="hidden dark:block" src="https://mintcdn.com/other-405835d4/kU99RLuXybYOidw_/langsmith/images/trace-quickstart-app-dark.png?fit=max&auto=format&n=kU99RLuXybYOidw_&q=85&s=9e1a23410bd26d820d468121cba096a7" alt="LangSmith UI 显示一个追踪，其中包含外部应用跨度和嵌套的大语言模型调用跨度。" width="2514" height="1260" data-path="langsmith/images/trace-quickstart-app-dark.png" />

外部跨度捕获了您的 `assistant` 函数的输入和输出。嵌套的 **get\_context** 跨度记录了工具调用，而 **ChatOpenAI** 跨度记录了发送给模型的确切提示和返回的响应。

<Tip>
  您也可以使用 [LangSmith CLI](/langsmith/langsmith-cli) 从终端检查追踪。
</Tip>

## 后续步骤

* [追踪集成](/langsmith/integrations)：LangChain、LangGraph、Anthropic 和其他提供商。
* [追踪大语言模型应用](/langsmith/observability-llm-tutorial)：一个完整的生命周期教程，从原型设计到生产。
* [过滤追踪](/langsmith/filter-traces-in-application)：搜索和导航大型追踪项目。
* [记录到特定项目](/langsmith/log-traces-to-project)：将追踪发送到命名项目，而不是 **default**。

<Callout type="info" icon="feather">
  记录追踪后，使用 **[Polly](/langsmith/polly)** 分析它们，并获取有关应用性能的 AI 驱动洞察。
</Callout>

***

<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/observability-quickstart.mdx) 或 [提交问题](https://github.com/langchain-ai/docs/issues/new/choose)。
  </Callout>
</div>
