15.LangChain 1.0+ 第三篇:LangSmith——给 AI 应用装上监控台.发布清单

LangChain 1.0+ 第三篇:LangSmith------给 AI 应用装上监控台

摘要:AI 应用出问题不能靠猜。LangSmith 是 LangChain 官方调试监控平台,本文讲清 4 个环境变量接入方式、三大功能板块,以及用 run_name/tags/metadata 给每次调用打标签定位性能与报错。


引子:模型"答错了"到底错在哪一步

你是不是也遇到过这种情况:Agent 应用跑着跑着突然变慢、回答驴唇不对马嘴,你打开代码逐行看也找不到问题------因为问题根本不在这段代码里,而在"模型接收了什么提示词、返回了什么内容、哪一步耗了最多 Token"这些你看不见的调用过程里。

\[LangChain 1.0+ 入门:从只会调API到搭出AI应用] 我们搭通了模型调用,\[LangChain 1.0+ 第二篇:Prompt、结构化输出与 LCEL 组件组合] 学会了串组件。这篇引入 LangChain 官方生态里的"监控台" LangSmith:让每次模型调用都有迹可循,出问题能直接定位到具体步骤。

一、LangSmith 是什么

结论:LangSmith 是 LangChain 生态中专用于 LLM 应用调试、监控、评估和管理的平台 ,官方地址 smith.langchain.com/。

它解决四类问题:

能力 作用
追踪 Tracing 记录每次 LLM 调用的详细信息(Prompt、返回、Token 数、节点耗时)
监控 Monitoring 实时看应用性能:Token 消耗趋势、QPS、错误率、平均延迟、成本预估
调试 Debug 排查 Bug 和优化性能
评估 Evaluate 系统化测试 LLM 应用(新旧版本对比)

一句话:你把应用跑起来,LangSmith 把你"看不到的调用过程"全部记录下来,还能可视化。

二、三大功能板块

1. 核心应用与开发

  • Tracing(追踪):最核心功能,完整记录每一次调用链路(Trace)。Agent/RAG 变慢或报错时,点进项目就能看到每一步 Prompt、模型返回、Token 消耗、节点耗时,方便排查和优化。
  • Monitoring(监控):生产环境可视化看板,宏观观察 Token 趋势、QPS、错误率、延迟与成本。
  • Datasets & Experiments(数据集与实验):把真实输入和边界情况存为数据集,修改 Prompt 或换模型后跑自动化对比测试,直观看出新旧版本差异。
  • Evaluators(评估器):配置基于规则(关键词)或基于模型(LLM-as-a-judge)的自动评分,如答案相关性、是否幻觉。
  • Annotation Queues(标注队列):人工打分、纠正回答、贴标签,产出的高质量标注数据可用于微调模型或当测试集。

2. 提示词与调试工具

  • Prompts(提示词管理):"提示词版的 GitHub",Prompt 从代码中解耦,云端管理、版本控制(v1/v2)、代码里动态拉取、团队协作分享。
  • Playground(演练场):网页端模型交互界面,不用写代码就能选模型、调 Prompt,一键存回 Prompts 仓库。
  • Studio(工作室):与 LangGraph 深度集成,可视化状态机流转,支持"暂停节点→改数据→继续执行",调试复杂 Agent 的利器。
  • Context Hub(上下文中心):管理多项目复用的公共上下文模板、全局变量、系统预设提示。

3. 部署与沙盒

  • Deployments(部署):一键把 LangChain/LangGraph 应用部署为线上 API(依托 LangGraph Cloud),自带高并发、队列、状态持久化。
  • Sandboxes(沙盒):轻量在线运行测试环境,不污染生产环境。

学习建议 :现阶段重点用 Tracing (看调用细节)和 Playground(调提示词);应用复杂化(RAG、多 Agent)后再引入 Datasets 评估和 Studio 可视化调试。

三、准备账号与 API Key

1. 注册登录

访问 smith.langchain.com/ 注册或登录。

2. 获取 API Key

打开设置 → 创建 API Key → 复制保存。注意:Key 只在弹窗显示一次,关掉后官网无法再查看,务必妥善保存。

3. 配置环境变量

.env 中添加四个变量:

python 复制代码
# 是否启用 Langsmith 监控
LANGSMITH_TRACING=true
# LangSmith 监控 WebUI 地址
LANGSMITH_ENDPOINT=https://api.smith.langchain.com
# 创建的 API_KEY
LANGSMITH_API_KEY=<YOUR_API_KEY>
# 项目名:可在 LangSmith 页面按名称查看对应的运行记录
LANGSMITH_PROJECT="pr-clear-harmony-32"

四、开始追踪:跑一段代码看监控台

结论:加上环境变量后用 load_dotenv() 加载,跑任意 LangChain 程序,LangSmith 自动记录并同步运行指标。

1. 运行一段普通调用

python 复制代码
import os
from dotenv import load_dotenv
from langchain_deepseek import ChatDeepSeek

# override=True:.env 中的值优先
load_dotenv(override=True)

model = ChatDeepSeek(
    api_key=os.getenv("DEEPSEEK_API_KEY"),
    api_base=os.getenv("DEEPSEEK_BASE_URL"),
    model_name="deepseek-v4-flash"
)
print(model.invoke("你好"))

2. 用 config 给调用"打标签"

在调用时传 configrun_name/tags/metadata 会显示在 LangSmith 的 Trace 里,便于分类和检索:

python 复制代码
config = {
    "run_name": "joke_generation",   # 本次运行名,LangSmith 中可见
    "tags": ["my_tag1", "my_tag2"],  # 打标签便于分类查找
    "metadata": {                     # 记录业务信息,如用户/会话 ID
        "user_id": "shkstart",
        "session_id": "sess_123"
    },
    "configurable": {                 # 运行时临时调整模型参数
        "model": "deepseek-v4-pro",
        "temperature": 0.7,
        "max_tokens": 1000
    }
}
response = model.invoke("1 + 2 = ?", config=config)

3. 查看监控界面

打开 LangSmith WebUI → Tracing 界面,可以看到以 LANGSMITH_PROJECT 命名的项目。点击任意条目进入详情:Prompt、模型返回、Token 消耗、各节点耗时一目了然;下方还有大量指标报表可切换。

五、实践要点总结

  1. run_name 给每次运行命名、用 tags/metadata 打标签,监控台才能"检索"而不是"翻找"。
  2. 出问题时先看 Tracing 里每一步的 Prompt 和耗时,往往比读代码更快定位。
  3. 改了 Prompt 或换模型后,用 Datasets & Experiments 跑对比,别靠感觉判断"有没有变好"。
  4. 上线后盯 Monitoring 的 Token 消耗、错误率、延迟,控制成本与稳定性。
  5. configurable 字段需在 init_chat_model 里声明(如 configurable_fields=("model", "temperature", ...))才可运行时调整。

下一篇讲多轮对话的地基:Message 消息与提示词模板,告诉你模型"失忆"时程序该怎样替它记住上下文。

相关推荐
gis分享者3 小时前
LangChain 和 LlamaIndex 有什么区别?各自适合什么场景?
人工智能·ai·langchain·场景·区别·llamaindex
北斗落凡尘14 小时前
LangGraph 入门实战(12)--使用MCP
后端·python·langchain
赵广陆21 小时前
企业实战:Web服务端搭建
前端·langchain·langgraph
扬大平仔1 天前
用 Java 对齐 LangChain Deep Agents Harness(二)
java·python·langchain
北斗落凡尘2 天前
LangGraph 入门实战(11)--输出模式
后端·python·langchain
赵广陆2 天前
企业实战:数据图与状态定义
pycharm·langchain·langgraph
青山是哪个青山2 天前
LangChain 学习笔记(九):上下文与记忆
笔记·学习·langchain
一只叫煤球的猫2 天前
Spring AI 2.0 源码解析(二):Starter 如何自动装配 ChatClient ?
后端·面试·langchain
GISer_Jing2 天前
全栈AI实战:基于 TypeScript + LangChain + MCP 的企业级智能研发助手
前端·后端·ai·langchain·前端框架