LangSmith攻略:LangChain LLM 观测平台。
LangSmith 是 LangChain 官方推出的 LLM 应用观测与调试平台。它的核心定位是帮助开发者追踪、评估和优化基于大语言模型构建的应用,特别是在使用 LangChain 框架时,能实现深度集成。你可以把它理解成 LLM 应用的“监控仪表盘 + 调试工具 + 测试实验室”三合一。
适合谁?
不适合谁?
目标:让 LangSmith 记录你的第一个 LLM 调用。
注册账号
访问 LangSmith 官网,用 GitHub 或 Google 账号登录。免费层提供每月 10 万次追踪记录,足够个人学习使用。注意:注册和访问需要正常的海外网络连接,国内直连可能不稳定。
创建项目 + 获取 API Key
在 Settings 里生成 API Key,复制保存。然后在 LangSmith 控制台新建一个 Project,比如叫“my-first-trace”。
安装 SDK 并配置环境
pip install langsmith langchain-openai
在代码中设置环境变量:
import os
os.environ["LANGCHAIN_TRACING_V2"] = "true"
os.environ["LANGCHAIN_API_KEY"] = "你的key"
os.environ["LANGCHAIN_PROJECT"] = "my-first-trace"
运行一个简单链并查看追踪
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(model="gpt-4o-mini")
response = llm.invoke("用一句话解释 LangSmith")
print(response.content)
运行后,回到 LangSmith 控制台,刷新项目页面,就能看到这次调用的完整记录:输入、输出、Token 消耗、延迟时间。
目标:学会用 LangSmith 创建测试数据集,并运行自动化评估。
创建数据集
在 Dataset 页面,手动添加或从 CSV 导入测试用例。每个用例包含输入(如用户问题)和参考输出(期望答案)。例如,为 RAG 应用准备 20 个问答对。
运行评估实验
在代码中定义评估函数:
from langsmith import Client
client = Client()
def exact_match_eval(run, example):
return {"score": run.outputs["output"] == example.outputs["expected"]}
experiment = client.evaluate(
llm, # 你的模型或链
data="你的数据集名称",
evaluators=[exact_match_eval]
)
对比实验结果
实验完成后,LangSmith 会自动生成对比报告。你可以看到不同 Prompt 版本、不同模型在相同测试集上的准确率、延迟、成本差异。这是优化 Prompt 最有力的依据。
callbacks 参数中传入 tracing_v2_enabled 即可自动追踪。| 层级 | 免费层 | 付费层(按量) |
|---|---|---|
| 追踪次数 | 10万次/月 | 超出后 $0.01/千次 |
| 评估次数 | 5万次/月 | 超出后 $0.02/千次 |
| 数据集存储 | 100个 | 无限制 |
| 团队协作 | 1人 | 支持多成员 |
建议:个人学习先用免费层。如果项目进入生产且需要团队协作,再考虑付费。注意:付费需要绑定国际信用卡,国内用户可能无法直接支付。
如果你因为网络限制或预算问题无法使用 LangSmith,推荐以下替代方案:
loguru 记录日志到本地文件,再用 pandas 分析。但会失去可视化对比和自动化评估能力。核心建议:如果你能稳定访问海外网络且使用 LangChain,LangSmith 是最省心的选择。否则,优先考虑 Langfuse 自托管。