LangSmith教程:LangChain LLM 观测平台。
LangSmith 是 LangChain 团队推出的一款 LLM 观测平台,专门用来追踪、调试和评估基于大语言模型的应用。简单说,它帮你回答三个问题:我的 LLM 调用到底在干什么?输出质量怎么样?如果出了问题,问题出在哪一步?它不只是一个日志工具,更像一个显微镜,让你看到 prompt、模型、检索、工具调用等每个环节的细节。适合那些正在把 LLM 集成到产品中的开发者,尤其是使用 LangChain 或类似框架的团队。
LangSmith 有三个拳头功能,每个都对应一个具体场景。
Trace(追踪):当你调用 LLM 时,每一次请求都会自动生成一个 trace,里面记录了从用户输入到最终输出的完整路径。比如你写了一个 RAG 应用,trace 会显示检索了哪些文档、每个文档的得分、模型用了哪些上下文、输出了什么。你可以在 LangSmith 的 Dashboard 里按时间、用户、模型类型筛选,定位慢请求或异常输出。用法很简单:在代码里配置好 LangSmith 的 API Key,设置 LANGSMITH_TRACING=true,然后正常跑你的应用,所有数据自动上报。
Eval(评估):你可以在平台上给 LLM 输出打分。支持人工标注,也可以用模型自动评估(比如用 GPT-4 来评判 GPT-3.5 的输出)。你可以定义自己的评估指标,比如“回答是否包含事实错误”“是否重复了用户问题”。评估结果会关联到具体的 trace,方便你对比不同 prompt 或模型版本的效果。操作上,你可以上传一个测试数据集,然后跑批量评估,或者直接在 Playground 里单条测试。
Playground(调试):一个在线调试器,你可以在里面修改 prompt、切换模型、调整参数,然后立刻看到输出变化。不需要改代码,也不需要重启服务。特别适合快速迭代 prompt 模板。你还可以把调试结果保存为新的 prompt 版本,方便回滚。
import os
os.environ["LANGSMITH_TRACING"] = "true"
os.environ["LANGSMITH_API_KEY"] = "你的API Key"
os.environ["LANGSMITH_PROJECT"] = "my-rag-app"
from langchain.chat_models import ChatOpenAI
llm = ChatOpenAI(model="gpt-3.5-turbo")
response = llm.predict("什么是量子计算?")
print(response)
LangSmith 最适合以下情况:
如果你只是偶尔调一次 API,或者用简单的 prompt 模板,LangSmith 的复杂度可能超出你的需求。另外,它的免费额度有限(每月一定数量的 trace),如果流量大,需要付费。
LangSmith 提供免费套餐,适合个人开发者或小项目试用。免费版包含每月一定数量的 trace 和评估次数,具体额度官网有说明。付费版起价 Plus 约 $39/月,提供更多 trace 额度、更长的数据保留时间、团队协作功能等。企业版价格需联系销售。注意,付费需要绑定国际信用卡,国内用户可能遇到支付障碍。如果无法支付,可以考虑一些国内厂商提供的类似 LLM 观测平台,功能上大同小异。