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 消息与提示词模板,告诉你模型"失忆"时程序该怎样替它记住上下文。

相关推荐
陈皮糖..6 小时前
从零搭建一个简易 AI 运维问答机器人(RAG + LangChain + Streamlit)
运维·人工智能·ai·langchain·机器人
梦因you而美10 小时前
LangChain-ReAct-Agent 智能客服系统 · 项目技术文档
langchain·agent·fastapi·扫地机器人·langgraph·rag 检索增强·react 智能客服
染指111014 小时前
111.Agent-LangChain核心组件-Tools工具
人工智能·langchain·agents
Darling噜啦啦14 小时前
LLM 结构化输出进阶:withStructuredOutput 一行封装 Tool Call,从流式输出到 MySQL 落地
langchain·llm
阿黎梨梨16 小时前
LangGraph 核心机制:从状态管理到人机协同
人工智能·langchain
不好听61316 小时前
分支与循环:把"下一跳"交给状态和 LLM——LangGraph 系列之三
langchain
GISMagic17 小时前
2.从零制作第一个天气 Agent:理解 Prompt、Skill 与 LangChain
ai·langchain·prompt·agent
神秘的猪头1 天前
新版 LangChain Agent 核心架构:State、Context、ToolRuntime 与 Middleware
langchain·llm·fastapi
神秘的猪头1 天前
新版 LangChain Agent 入门:从 `bind_tools + while` 到 `create_agent`
langchain·fastapi
神秘的猪头1 天前
把新版 LangChain Agent 做成真正应用:Memory、Streaming、SSE 与 Structured Output
langchain·fastapi