Skip to content
LangSmith 文档版本 跟随上游 源快照 0d9bfc8b 更新于 2026-10-18

追踪 DeepSeek 应用

DeepSeek 提供高性能、兼容 OpenAI 的语言模型,包括 deepseek-chat(用于一般对话)和 deepseek-reasoner(用于高级推理任务)。使用 LangSmith 可以捕获输入、输出和元数据的结构化追踪,从而调试、监控和评估你的 LLM 应用。

本指南展示如何在 Python 和 TypeScript 中将 DeepSeek 与 LangSmith 集成,使用 LangSmith 的 @traceable(Python)和 traceable(...)(TypeScript)工具自动记录 LLM 调用。

安装

安装 OpenAI 和 LangSmith:

bash
pip install openai langsmith
bash
uv add openai langsmith
bash
npm install openai langsmith dotenv

DeepSeek 提供 OpenAI 兼容 API,这意味着你可以使用 OpenAI SDK 与 DeepSeek 模型交互。唯一的区别是,你需要将客户端配置为指向 DeepSeek 的基础 URL(https://api.deepseek.com/v1),而不是 OpenAI 的端点。

设置

设置你的 API key 和项目名称:

bash
export LANGSMITH_API_KEY="your-langsmith-api-key"
export LANGSMITH_TRACING="true"
export LANGSMITH_PROJECT="deepseek-integration"
export DEEPSEEK_API_KEY="your-deepseek-api-key"
  • 确保你从 DeepSeek 账户获取了 DeepSeek API key。
  • 设置 LANGSMITH_TRACING=true 并提供你的 LangSmith API key(LANGSMITH_API_KEY),即可启用追踪的自动记录。
  • 指定 LANGSMITH_PROJECT 名称以按项目组织追踪;如果未设置,追踪会进入默认项目(名称为 "default")。
  • LANGSMITH_TRACING 标志必须为 true,才会记录任何追踪。

配置追踪

  1. 用 LangSmith 对 DeepSeek API 调用进行插桩。在你的脚本中,创建一个配置为使用 DeepSeek API 端点的 OpenAI 客户端,并将调用包装在追踪函数中:
python
import os
from openai import OpenAI
from langsmith import traceable

# Create a client pointing to DeepSeek
client = OpenAI(
    api_key=os.environ["DEEPSEEK_API_KEY"],
    base_url="https://api.deepseek.com/v1"
)

@traceable(
    run_type="llm",
    name="DeepSeek Chat Completion",
    metadata={"ls_provider": "deepseek", "ls_model_name": "deepseek-chat"},
)
def call_deepseek(messages: list[dict]):
    response = client.chat.completions.create(
        model="deepseek-chat",
        messages=messages
    )
    return response.choices[0].message

if __name__ == "__main__":
    messages = [
        {"role": "system", "content": "You are a helpful assistant that translates English to French."},
        {"role": "user", "content": "I love programming."}
    ]
    result = call_deepseek(messages=messages)
    print("Model reply:", result.content)
typescript
import { config } from "dotenv";
import OpenAI from "openai";
import { traceable } from "langsmith/traceable";

config(); // Load env vars from .env

const openai = new OpenAI({
apiKey: process.env.DEEPSEEK_API_KEY,
baseURL: "https://api.deepseek.com/v1"
});

type ChatMessage = {
role: "system" | "user" | "assistant";
content: string;
};

const callDeepSeek = traceable(
async (messages: ChatMessage[]) => {
    const response = await openai.chat.completions.create({
    model: "deepseek-chat",
    messages
    });

    return response.choices[0].message;
},
{
    name: "DeepSeek Chat Completion",
    run_type: "llm",
    metadata: {
    ls_provider: "deepseek",
    ls_model_name: "deepseek-chat"
    }
}
);

(async () => {
const messages: ChatMessage[] = [
    {
    role: "system",
    content: "You are a helpful assistant that translates English to French."
    },
    {
    role: "user",
    content: "I love programming."
    }
];

const result = await callDeepSeek(messages);
console.log("Model reply:", result.content);
})();

在此示例中,你使用 OpenAI SDK 与 DeepSeek 的 API 交互。OpenAI 客户端配置了 base_url="https://api.deepseek.com/v1",将请求路由到 DeepSeek 的端点,同时保持 OpenAI 兼容语法。

@traceable 装饰器(Python)或 traceable 函数(TypeScript)包装你的函数,使每次调用都记录为类型 "llm" 的追踪 run。metadata 参数会为追踪打上以下标签:

  • ls_provider:标识提供商(DeepSeek),用于筛选追踪。
  • ls_model_name:指定用于成本跟踪和分析的模型。

该函数返回完整的消息对象(response.choices[0].message),其中包含响应内容以及角色等元数据和任何其他字段。LangSmith 会自动捕获:

  • 发送给模型的输入消息。
  • 模型的完整响应(内容、角色等)。
  • 模型名称和 token 用量统计。
  • 执行时长和任何错误。
  1. 执行你的脚本以生成追踪:
bash
python deepseek_trace.py
bash
node deepseek_trace.js

函数调用会访问 DeepSeek 的 API;由于 @traceable/traceable 包装器,LangSmith 会把这次调用的输入和输出记录为一条新追踪。你会在控制台看到模型响应,并在 LangSmith UI 中看到对应的 run。

在 LangSmith 中查看追踪

运行示例后,你可以在 LangSmith UI 中检查记录的追踪:

  1. 打开 LangSmith UI 并登录你的账号。
  2. 选择你用于此集成的项目(例如 LANGSMITH_PROJECT 中设置的名称,若未设置则为 "default")。
  3. 找到与你的 DeepSeek API 调用对应的追踪。它会以函数名(DeepSeek Chat Completion)标识。
  4. 点击追踪将其打开。你将能够检查模型输入和输出,包括你发送的提示词消息和 DeepSeek 的响应,以及计时信息(延迟)和 token 用量。

借助 LangSmith 的追踪,你可以完全掌握 DeepSeek 调用的可见性——从而调试 DeepSeek 模型的行为、监控性能(响应时间和 token 用量),并比较不同参数的 run。

成本追踪

尽管 DeepSeek 模型是开放权重的,但使用托管的 DeepSeek API 可能会根据你的套餐产生基于用量的费用。

LangSmith 可以通过估算 token 用量并应用特定模型的定价,自动将成本关联到被追踪的 LLM 调用。追踪 DeepSeek API 调用时,LangSmith 会使用记录的提示词和响应消息来计算 token 数,并为每个 run 附加成本信息。

要为 LLM 调用启用自动成本跟踪,请参阅基于 token 数自动跟踪成本。

启用后,成本会直接显示在 LangSmith UI 中每条被追踪的 DeepSeek run 旁边,让你能够监控用量并跨时间比较实验。


BytesRouter 是社区翻译站点,所有译文仅供参考,一切以官方英文原文为准。