1469 字
4 分钟
LangChain之03:LangSmith的使用
LangChain之03:LangSmith的使用
1. LangSmith 概述
1.1 什么是 LangSmith
LangSmith 是 LangChain 生态系统中专门用于 LLM(大语言模型)应用调试、监控、评估和管理的平台。
主要能力:
- 追踪(Tracing):记录每次 LLM 调用的详细信息
- 监控(Monitoring):实时查看应用性能
- 调试(Debug):排查问题和优化性能
- 评估(Evaluate):系统化测试 LLM 应用
1.2 具体功能
功能一:核心应用与开发
- Tracing(追踪):LangSmith 最核心的功能,完整记录大模型应用的每一次调用链路(Trace)。当 Agent 或 RAG 系统运行变慢或报错时,可进入对应项目查看每一步的 Prompt、模型返回、Token 消耗以及每个链条节点的耗时,方便排查 Bug 和优化性能。
- Monitoring(监控):提供生产环境的高级数据可视化看板,从宏观角度监控应用运行状况,查看 Token 消耗趋势、QPS(每秒请求数)、错误率、平均延迟(Latency)以及成本预估。
- Datasets & Experiments(数据集与实验):管理测试数据集并运行对比实验。可把真实输入、边界情况(Edge Cases)存为数据集,修改 Prompt 或更换底层大模型后运行自动化对比测试,直观看到新旧版本在同一批测试集上的表现差异。
- Evaluators(评估器):配置和自动化评估任务。大模型输出难以用传统断言测试,可配置基于规则(如关键词匹配)或基于模型(LLM-as-a-judge)的评估指标(如答案相关性、是否包含幻觉),对追踪数据或实验结果自动打分。
- Annotation Queues(标注队列):人工反馈与数据清洗工具。把一部分痕迹发送到标注队列,由核心成员、业务专家或人工客服手动打分、纠正回答或贴标签,高质量标注数据后续可用于微调模型或充当测试集。
功能二:提示词与调试工具
- Prompts(提示词管理):类似“提示词版的 GitHub”。把 Prompt 从代码中解耦出来,在云端统一管理,支持版本控制(如 v1、v2),通过 API 动态拉取最新提示词,并支持团队协作与分享。
- Playground(演练场):网页端模型交互界面。无需写代码即可选择不同模型(如 OpenAI、Anthropic 或本地模型),快速微调并测试 Prompt 效果,可一键保存到 Prompts 仓库。
- Studio(工作室):与 LangGraph 深度集成,提供可视化图形交互界面。可视化查看状态机(State)在各节点间的流转,支持在节点“暂停”、手动修改数据后继续执行,是调试复杂智能体交互的利器。
- Context Hub(上下文中心):管理全局上下文或通用组件配置,存放可在多个项目或 Prompt 中复用的公共上下文模板、全局变量或系统预设提示。
功能三:部署与沙盒
- Deployments(部署):一键将 LangChain 应用或 LangGraph Agent 部署为线上可用的 API 服务(通常依托 LangGraph Cloud),提供开箱即用的生产端点,处理高并发、队列管理和状态持久化。
- Sandboxes(沙盒):提供轻量级的在线运行和测试环境,在不污染生产环境的前提下,供开发人员安全试运行、测试新部署的 Agent 或执行自动化脚本。
建议:现阶段重点关注 Tracing(观察项目调用细节)和 Playground(快速调优提示词)。当应用结构走向复杂(如引入复杂 RAG 检索或多 Agent 协同)时,再逐步引入 Datasets 进行量化评估,并利用 Studio 进行可视化调试。
2. 准备账号
2.1 注册或登录
- 访问官网:https://smith.langchain.com/
- 自由选择注册或登录方式
- 登录成功
2.2 获取 API Key
- 打开设置
- 创建 API Key
- 保存 Key
注意:点击 copy 将 API Key 保存到剪贴板并关闭弹窗。API Key 只在上述窗口出现一次,关闭后回到设置页面就无法再查看其内容,请妥善保存。
- (可选)按需删除:如需删除 Key,点击右侧图标即可。
2.3 新增环境变量
在 .env 配置文件中添加四个环境变量:
# 是否启用Langsmith监控功能LANGSMITH_TRACING=true# Langsmith监控WebUI地址LANGSMITH_ENDPOINT=https://api.smith.LangChain.com# 创建的API_KEYLANGSMITH_API_KEY=<YOUR_API_KEY># 自定义项目名称,可以在Langsmith WebUI监控页面根据名称查看对应的运行记录LANGSMITH_PROJECT="pr-clear-harmony-32"3. 查看监控指标
添加上述环境变量后,在程序中通过 load_dotenv() 加载并运行 LangChain 代码,LangSmith 会自动记录运行指标并同步至后台服务,可在官网查看运行记录。
步骤一:运行任意 LangChain 程序
举例 1:使用 ChatDeepSeek
import osfrom dotenv import load_dotenvfrom langchain_deepseek import ChatDeepSeek# 将env文件中的变量加载为环境变量#override=True:表示.env优先load_dotenv(override=True)DEEPSEEK_API_KEY = os.getenv("DEEPSEEK_API_KEY")DEEPSEEK_BASE_URL = os.getenv("DEEPSEEK_BASE_URL")model = ChatDeepSeek(api_key=DEEPSEEK_API_KEY,api_base=DEEPSEEK_BASE_URL,model_name="deepseek-v4-flash")print(model.invoke("你好"))举例 2:使用 init_chat_model(OpenAI 协议)
from langchain.chat_models import init_chat_modelfrom dotenv import load_dotenvimport osload_dotenv(override=True)CLOSEAI_API_KEY=os.getenv("CLOSEAI_API_KEY")CLOSEAI_BASE_URL=os.getenv("CLOSEAI_BASE_URL")model = init_chat_model(model="deepseek-v4-flash",model_provider="openai",api_key=CLOSEAI_API_KEY,base_url=CLOSEAI_BASE_URL)print(model.invoke("你好,用一句话回答"))举例 3:使用 init_chat_model(DeepSeek + config 配置)
from langchain.chat_models import init_chat_modelfrom dotenv import load_dotenvimport osfrom rich import print as rprint# 从.env文件中加载环境变量load_dotenv(override=True)DEEPSEEK_API_KEY = os.getenv("DEEPSEEK_API_KEY")DEEPSEEK_BASE_URL = os.getenv("DEEPSEEK_BASE_URL")# 1. 初始化模型model = init_chat_model(model="deepseek-v4-flash",model_provider="deepseek",api_key=DEEPSEEK_API_KEY,base_url=DEEPSEEK_BASE_URL,temperature=0.2,max_tokens=500,# 指定可调整参数configurable_fields=("model", "model_provider", "temperature","max_tokens"),)# 2. 准备 config 字典config = {"run_name": "joke_generation", # 在LangSmith中这次运行会显示为"joke_generation""tags": ["my_tag1", "my_tag2"], # 打上标签便于分类查找"metadata": {"user_id": "shkstart", # 记录用户ID"session_id": "sess_123" # 记录会话ID},"configurable": {"model": "deepseek-v4-pro", # 配置模型参数"model_provider": "openai", # 配置模型提供商参数"temperature": 0.7, # 配置温度参数"max_tokens": 1000 # 配置最大令牌数}}# 3. 调用模型并传入configresponse = model.invoke("1 + 2 = ?",config=config)rprint(response)步骤二:打开监控界面
此时在 LangSmith 官方 WebUI 的 Tracing 界面下,可以看到按 LANGSMITH_PROJECT 命名的项目。
步骤三:查看运行指标
点击条目任意位置进入详情页面,此处列出详细的运行指标;点击某次运行记录可查看更详细的信息。
步骤四:查看运行报表
此处提供大量指标报表,点击标签或下滑页面可切换指标。
分享
如果这篇文章对你有帮助,欢迎分享给更多人!
LangChain之03:LangSmith的使用
https://blogstella.xyz/posts/langchain之03-langsmith的使用/ 部分信息可能已经过时
相关文章 智能推荐
1
LangChain之05:Tools
LangChain 详解 LangChain 工具(Tools)的定义方式、参数描述与 schema,以及多工具调用和强制使用工具。
2
LangChain之01:LangChain概述
LangChain 系统梳理 LangChain 的定位、发展脉络、四大支柱与开发准备,并介绍 RAG、Agent 等典型应用场景。
3
LangChain之02:模型的创建与调用
LangChain 系统讲解LangChain模型的创建方式(专用类、init_chat_model、本地Ollama)与调用方式(invoke/stream/batch及异步版本)。
4
LangChain之07:智能体
LangChain 本文讲解 LangChain 智能体(Agent)的创建与调用、工具绑定、结构化输出与流式输出,并以多功能智能助手实战串联核心用法。
5
LangChain之10:RAG
LangChain 讲解RAG检索增强生成:覆盖文档加载、切分、向量化、向量存储与检索,并结合Atguigu客服知识库演示完整流程。