Skip to main content
LangSmith 通过捕获 追踪 为您提供对大语言模型应用的端到端可见性;追踪是请求期间运行的每个步骤的完整记录,从传入的输入到返回的最终输出。 在本快速入门中,您将为一个 AI 助手添加追踪,并在 LangSmith 中查看结果。
如果您正在使用 LangChainLangGraph 进行构建,您可以通过单个环境变量启用 LangSmith 追踪。请参阅 使用 LangChain 追踪使用 LangGraph 追踪

前提条件

在开始之前,请确保您已具备: 本示例使用 OpenAI 作为大语言模型提供商。您可以将其调整为您自己的提供商。

1. 设置您的环境

  1. 创建一个项目目录,安装依赖项,并配置所需的环境变量:
    mkdir ls-quickstart && cd ls-quickstart
    python -m venv .venv && source .venv/bin/activate
    pip install -U langsmith openai
    
  2. 在您的 shell 中导出环境变量:
    export LANGSMITH_TRACING=true
    export LANGSMITH_API_KEY="<your-langsmith-api-key>"
    export OPENAI_API_KEY="<your-openai-api-key>"
    
    要将跟踪数据发送到特定项目,请使用 LANGSMITH_PROJECT 环境变量。如果未设置该变量,LangSmith 将在跟踪数据摄取时自动创建一个默认跟踪项目。
    如果您使用的是 Anthropic,请使用 Anthropic 包装器。如果您使用的是 Google Gemini,请使用 Gemini 包装器。对于其他提供商,请使用 @traceable 装饰器 手动追踪调用。

2. 构建应用

以下应用使用两个 LangSmith 工具来添加追踪:
  • wrap_openai:包装 OpenAI 客户端,以便每次大语言模型调用都自动记录为一个嵌套跨度。
  • @traceable:包装一个函数,使其输入、输出和任何嵌套跨度在 LangSmith 中显示为单个追踪。
assistant 函数调用一个工具 (get_context) 来检索相关上下文,然后将该上下文传递给模型。在两个函数上使用 @traceable 可以将整个管道捕获在一个追踪中,工具调用和大语言模型调用作为嵌套跨度。 创建一个名为 app.py(或 index.ts)的文件,包含以下代码:
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 追踪保留多久?"))

3. 运行应用

python app.py

4. 查看您的追踪

LangSmith UI 中,转到 追踪 并选择您的 default 项目。点击 assistant 行以打开 追踪 详情面板,其中显示了 assistant 函数,其中嵌套了 get_context 工具调用和 OpenAI 调用。 LangSmith UI 显示一个追踪,其中包含外部应用跨度和嵌套的大语言模型调用跨度。 外部跨度捕获了您的 assistant 函数的输入和输出。嵌套的 get_context 跨度记录了工具调用,而 ChatOpenAI 跨度记录了发送给模型的确切提示和返回的响应。
您也可以使用 LangSmith CLI 从终端检查追踪。

后续步骤

记录追踪后,使用 Polly 分析它们,并获取有关应用性能的 AI 驱动洞察。