
langsmith-sdk
给 LLM 应用装上黑匣子,调用全记录、效果可对比
langsmith-sdk 是 LangChain 官方推出的 LangSmith 平台客户端 SDK,提供 Python 与 JavaScript 实现。它解决的是 LLM 应用开发中「黑盒调试难、效果评估散、线上问题难追溯」的问题。核心能力包括:自动记录每次模型调用的输入输出、耗时、token 消耗与错误堆栈,形成可检索的 trace;支持构建数据集、运行批量评估、对比不同 prompt 或模型版本的得分;提供反馈收集接口,把人工标注或用户评分写回平台;还能与 LangChain、OpenAI 等生态无缝集成,只需设置环境变量即可开启追踪。对开发者而言,它把原本靠打印日志和手工表格完成的调试与评测流程,变成可视化、可复现、可协作的工程化能力,适合从原型到生产的全周期使用。
项目数据
使用教程
环境要求
- Python 环境,可使用 pip 安装包
- 有效的 LangSmith API Key(形如 ls_...)
- 使用 org-scoped key 时需提供 Workspace ID
- 可选:Node.js 环境与 pnpm,用于 JavaScript/TypeScript SDK
安装与启动步骤
-
1安装 Python SDK
用 pip 安装或升级官方 langsmith 包,这是追踪与评估功能的基础依赖。
pip install -U langsmith -
2配置环境变量
开启追踪并填入 API Key;若用 org-scoped key 还需填 Workspace ID。注意不要把真实密钥提交到代码仓库。
export LANGSMITH_TRACING=true export LANGSMITH_API_KEY=ls_xxxxxxxx export LANGSMITH_WORKSPACE_ID= -
3包装 OpenAI 客户端
用 wrap_openai 包装 OpenAI 客户端,之后所有 chat.completions 调用会被自动记录为 trace。
import openai from langsmith import traceable from langsmith.wrappers import wrap_openai client = wrap_openai(openai.Client()) client.chat.completions.create( messages=[{"role": "user", "content": "Hello, world"}], model="gpt-5.4" ) -
4(可选)安装 JS SDK
如使用 JavaScript / TypeScript,用 pnpm 添加 langsmith 包,环境变量配置方式与 Python 相同。
pnpm add langsmith -
5(可选)JS 追踪示例
用 wrapOpenAI 包装 OpenAI 客户端并调用接口,即可在平台上看到对应的 trace 记录。
import { OpenAI } from "openai"; import { traceable } from "langsmith/traceable"; import { wrapOpenAI } from "langsmith/wrappers"; const client = wrapOpenAI(new OpenAI()); await client.chat.completions.create({ model: "gpt-5.4", messages: [{ content: "Hi there!", role: "user" }], });
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
LANGSMITH_TRACING | 是 | 开启自动追踪开关,设为 true 后调用才会被记录 | true |
LANGSMITH_API_KEY | 是 | LangSmith 平台访问密钥,用于上报 trace 数据 | ls_xxxxxxxx |
LANGSMITH_WORKSPACE_ID | 否 | 使用 org-scoped key 时必填,指定数据归属的工作区 | |
如何确认成功
脚本能正常返回 chat.completion 结果(含 usage token 统计),并可在 smith.langchain.com 平台看到对应 trace。
常见问题
Q:必须使用 LangChain 才能用吗?
A:不是。SDK 适用于任意 LLM 应用,只是内置了与 LangChain Python / LangChain JS 的原生集成。
Q:LANGSMITH_WORKSPACE_ID 一定要设置吗?
A:不一定。README 说明仅当使用 org-scoped key 时它是必填项,普通 key 可省略。
Q:JavaScript 版怎么安装?
A:使用 pnpm add langsmith 安装,然后按 JS README 配置同样的三个环境变量即可。
Q:还有更详细的用法文档吗?
A:有。仓库内提供 python/README.md 与 js/README.md,官方文档见 docs.smith.langchain.com。
注意事项
- API Key 属于敏感凭证,不要硬编码进源码或提交到仓库。
- 本仓库同时包含 Python 与 JavaScript 两个 SDK,按需查阅对应目录的 README。
核心亮点
- 与 LangChain 生态深度绑定,设置环境变量即可自动埋点,接入成本极低
- 支持 trace、数据集、评估、反馈四位一体,覆盖调试到评测的完整闭环
- 同时提供 Python 和 JS SDK,前后端团队可共用同一套观测数据
不足之处
- 核心功能依赖 LangSmith 云端服务,离线或私有化部署能力有限
- 脱离 LangChain 生态单独使用时,需手动埋点,便利性下降
适用场景
- 调试多步 Agent 时,逐层查看每步工具调用与模型输出的耗时和错误
- 上线前用固定数据集批量跑评估,对比不同 prompt 版本的准确率
- 收集线上用户点赞/点踩反馈,定位低质量回答并回流到数据集
替代项目
langfuse、phoenix、wandb
项目介绍
同类项目推荐
freebuff-proxy
开源
聚合多账号,一键接入 OpenAI 兼容 API,轻松管理会话。
OpenAI-compatible gateway for FreeBuff coding models. Token pool, session lifecycle,···
microduck
开源
用 Rust 造一只会走路的桌面小鸭,快速上手双足机器人。
A Tiny biped duck robot
soperator
开源
用 Kubernetes 原生方式运行 Slurm,简化 HPC 集群管理。
Run Slurm in Kubernetes
ollama
开源
一条命令本地跑起大模型,免费、私密、不卡顿
Get up and running with Kimi, GLM, MiniMax, DeepSeek, gpt-oss, Qwen, Gemma and other···