第11章 LangSmith 调试与综合项目
第11章 LangSmith 调试与综合项目1. 本章目标前面章节已经完成了 LangChain 的核心能力调用 DeepSeek使用 Prompt 模板结构化输出LCEL 链式调用文档加载与切分Embedding 和向量数据库RAG 知识库问答Tool 和 Agent应用能跑起来之后如何调试、观察和评估效果学完本章后你应该能够理解 LangSmith 的作用开启 LangChain 调用追踪在 LangSmith 中查看模型调用、Prompt、Token 和耗时给不同项目设置追踪名称给运行过程添加标签和元数据编写简单的测试集评估 RAG 效果编写简单的测试集评估 Agent 工具调用完成一个课程综合项目理解上线前应该检查哪些关键问题2. 为什么需要 LangSmith在简单案例中我们通常只看终端输出你需要知道用户原始问题是什么Retriever 检索到了哪些文档Prompt 最终长什么样模型输入了多少 Token模型输出了什么哪一步耗时最长Agent 有没有调用工具工具参数是否正确工具返回了什么LangSmith 就是用来观察、调试和评估大模型应用的平台。它可以把一次 LangChain 调用记录成完整链路。3. LangSmith 能看到什么开启追踪后LangSmith 中可以看到内容作用Trace一次完整调用链路Run链路中的一个步骤Input当前步骤输入Output当前步骤输出Prompt发送给模型的提示词Tool CallAgent 调用工具的记录Token模型输入和输出消耗Latency每一步耗时Error报错信息Metadata自定义业务信息对于 RAG 项目重点看检索问题是否正确检索结果是否相关上下文是否传给模型模型是否根据资料回答对于 Agent 项目重点看是否调用了工具调用了哪个工具工具参数是否正确工具结果是否被模型正确使用4. 开通和配置 LangSmith访问https://smith.langchain.com登录后创建 API Key。在项目根目录创建.envDEEPSEEK_API_KEY你的DeepSeek API Key DEEPSEEK_BASE_URLhttps://api.deepseek.com LANGSMITH_TRACINGtrue LANGSMITH_API_KEY你的LangSmith API Key LANGSMITH_PROJECTlangchain-work-demo环境变量说明变量作用LANGSMITH_TRACING是否开启追踪LANGSMITH_API_KEYLangSmith API KeyLANGSMITH_PROJECT追踪记录所属项目DEEPSEEK_API_KEYDeepSeek API KeyDEEPSEEK_BASE_URLDeepSeek OpenAI 兼容接口地址如果暂时不想开启 LangSmith可以改成LANGSMITH_TRACINGfalse5. 安装依赖安装本章依赖pip install langsmith6. 案例一追踪一次普通模型调用创建01_trace_chat.pyfrom utils.model_factory import get_deepSeek_model modelget_deepSeek_model() responemodel.invoke(帅哥为什么这么帅) print(respone.content)运行结果如下终端界面如果.env中配置了LANGSMITH_TRACINGtrue LANGSMITH_API_KEY... LANGSMITH_PROJECTlangchain-course-demo运行后就可以在 LangSmith 项目中看到这次调用。你可以重点查看输入内容模型输出调用耗时Token 消耗模型名称langsmith界面打开这个项目可以看到7. 案例二追踪 LCEL Chain创建02_trace_chain.pyfrom langchain_core.output_parsers import StrOutputParser from langchain_core.prompts import ChatPromptTemplate from utils.model_factory import get_deepSeek_model model get_deepSeek_model() prompt_template ChatPromptTemplate.from_messages( [ ( system, 你是一名编程课程讲师回答要适合初学者。, ), ( human, 请用不超过 150 字解释{topic}, ) ] ) chain prompt_template | model | StrOutputParser() result chain.invoke( { topic:RAG检索增强生成 }, config { run_name:concept_explain_chain, tags:[chapter10,lcel], metadata:{ course:langChain, chapter:10 } } ) print(result)这里的config可以给本次运行增加信息config{ run_name: concept_explain_chain, tags: [chapter10, lcel], metadata: { course: LangChain, chapter: 10, }, }在 LangSmith 中run_name、tags和metadata可以帮助你筛选和定位调用记录。这些都是我们配置的信息过滤8. 案例三追踪 Agent 工具调用创建03_trace_agent.pyfrom langchain.agents import create_agent from langchain_core.tools import tool from utils.model_factory import get_deepSeek_model tool def get_order_status(order_id:str) - str: 根据订单号查询订单状态包括是否付款、是否发货、快递单号和签收状态。 fake_orders { A1001: 已付款等待发货, A1002: 已发货快递单号 SF123456, A1003: 已签收, } return fake_orders.get(order_id, 没有查询到该订单) model get_deepSeek_model() agent create_agent( model model, tools [get_order_status], system_prompt 你是一名电商客服助手必须根据工具结果回答订单问题。 ) result agent.invoke( { messages:[ { role:user, content:帮我查一下订单A1002发货了么 } ] }, config { run_name:order_agent_demo_run, # trace的名字 tags:[chapter10,agent,tool], metadata:{ name:order_agent_demo_meta, #Metadata_name biz: ecommerce }, } ) print(result[messages][-1].content)在 LangSmith 中可以看到用户问题 - 模型请求调用 get_order_status - 工具返回订单状态 - 模型生成最终回答用户提问 → 大模型识别需要调用工具 → 调用查询订单接口 → 获取接口数据 → 大模型把原始数据整理成自然语言回答用户这对调试 Agent 非常有用。如果 Agent 没有调用工具可以在 Trace 中检查工具描述是否传给模型用户问题是否包含订单号模型是否直接生成了答案工具调用参数是否错误

相关新闻

C++学习实战指南:从环境配置到多线程编程的深度解析

C++学习实战指南:从环境配置到多线程编程的深度解析

1. 从“问题”到“体系”:C学习的必经之路最近在社区里看到不少朋友在讨论C学习时遇到的“拦路虎”,从最基础的语法报错,到复杂的多线程、内存管理问题,再到项目实战中的环境配置和库依赖,问题清单可以列得很长。这让我…

2026/7/31 4:19:56 阅读更多 →
Gromov-Witten理论与量子上同调:从数学基础到物理应用的完整解析

Gromov-Witten理论与量子上同调:从数学基础到物理应用的完整解析

这次我们来看一个数学物理交叉领域的重要理论——Gromov-Witten理论与量子上同调。这个主题虽然听起来很抽象,但它在弦理论、镜像对称和代数几何中有着核心应用价值。2026年夏季的这门课程将为研究者系统介绍这一理论的基础框架和最新进展。对于数学物理方向的研究生…

2026/7/31 4:19:56 阅读更多 →
GTA5终极防崩溃指南:YimMenu安全防护完整教程

GTA5终极防崩溃指南:YimMenu安全防护完整教程

GTA5终极防崩溃指南:YimMenu安全防护完整教程 【免费下载链接】YimMenu YimMenu, a GTA V menu protecting against a wide ranges of the public crashes and improving the overall experience. 项目地址: https://gitcode.com/GitHub_Trending/yi/YimMenu …

2026/7/31 4:19:56 阅读更多 →

最新新闻

华为nova16系列全景声技术解析:如何做到手机也能听出影院感

华为nova16系列全景声技术解析:如何做到手机也能听出影院感

作为常年深耕华为机型的花粉,最近才关注到nova16系列一个极易被忽略的影音黑科技——移动全景声。很多人入手nova系列却不知道这套声学方案,能直接重塑日常观影听歌体验。日常用手机追剧,声音集中在底部扬声器,缺少空间层次感&…

2026/7/31 4:56:30 阅读更多 →
Unity Android打包AAPT2守护进程关闭超时:原理、诊断与根治方案

Unity Android打包AAPT2守护进程关闭超时:原理、诊断与根治方案

1. 项目概述:当Unity打包Android时,AAPT2守护进程卡住了如果你是一名Unity开发者,正准备将精心打磨的游戏或应用打包成Android的APK文件,却在构建的最后阶段,控制台突然弹出一条令人沮丧的红色错误信息:“A…

2026/7/31 4:56:30 阅读更多 →
Eclipse连接MySQL全攻略:从驱动配置到连接池实战

Eclipse连接MySQL全攻略:从驱动配置到连接池实战

1. 项目概述:为什么“连接”是开发者的第一道坎刚接触Java Web开发或者企业级应用的新手,几乎无一例外都会在“Eclipse连接MySQL”这一步上卡住。这听起来像是一个简单的配置动作,不就是填个地址、用户名和密码吗?但实际动手时&am…

2026/7/31 4:56:30 阅读更多 →
拍打式小闹钟使用评测:从功能测试到日常维护全解析

拍打式小闹钟使用评测:从功能测试到日常维护全解析

这类小玩意儿最值得先看的不是功能有多全,而是它到底能不能在普通家庭环境里稳定用起来,特别是给小朋友或者需要简单提醒的人用。这个一拍就亮的蛋小黄闹钟,核心就两点:一是靠拍打触发亮灯或响铃,二是外形可爱。但实际…

2026/7/31 4:56:30 阅读更多 →
定投纳斯达克20年会有多少收益

定投纳斯达克20年会有多少收益

背景 最近网上看到有人问豆包定投的问题: 验证1 豆包的计算正确吗?我拿同样的问题问了DeepSeek: 感觉Deepseek不太准,截至到2026年4月来计算,投入金额应该在60w左右。 验证2 再问问Chatgpt: Chatgpt投入…

2026/7/31 4:56:30 阅读更多 →
SilentPatchBully终极修复指南:如何让《恶霸鲁尼》在Windows 10/11稳定运行

SilentPatchBully终极修复指南:如何让《恶霸鲁尼》在Windows 10/11稳定运行

SilentPatchBully终极修复指南:如何让《恶霸鲁尼》在Windows 10/11稳定运行 【免费下载链接】SilentPatchBully SilentPatch for Bully: Scholarship Edition (fixes crashes on Windows 10) 项目地址: https://gitcode.com/gh_mirrors/si/SilentPatchBully …

2026/7/31 4:55:30 阅读更多 →

日新闻

物理复制比逻辑复制好在哪?数据库复制原理详解

物理复制比逻辑复制好在哪?数据库复制原理详解

数据库复制是把主库数据同步到备库的机制,分为逻辑复制和物理复制两种。逻辑复制传输的是 SQL 语句或行变更事件,物理复制传输的是存储引擎底层的物理日志。阿里云 PolarDB(云原生数据库)采用物理复制,在同步延迟、数据…

2026/7/31 0:00:34 阅读更多 →
BilibiliDown:3分钟学会B站视频下载的终极指南

BilibiliDown:3分钟学会B站视频下载的终极指南

BilibiliDown:3分钟学会B站视频下载的终极指南 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader 😳 项目地址: https://gitcode.com/gh_mirrors/bi/Bilib…

2026/7/31 0:00:34 阅读更多 →
有哪些游戏数据AI平台?游戏行业Data+AI融合方案盘点

有哪些游戏数据AI平台?游戏行业Data+AI融合方案盘点

当前,游戏行业的“DataAI融合”已从概念验证进入价值落地阶段。根据IDC 2025年数据,中国AI游戏云市场规模已达18.6亿元;同时,游戏研发环节AI渗透率高达86%,生成式AI内容普及率超过50%。面对庞大的市场,游戏…

2026/7/31 0:00:34 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/31 1:03:03 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/29 14:34:28 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/31 4:19:39 阅读更多 →

月新闻