当前位置: 首页 > news >正文

LangSmith 自动追踪 (Tracing) 实战指南

本文档介绍如何利用LangChain的环境变量机制,实现零代码侵入的 LangSmith 自动追踪。


1. 核心原理

LangChain 框架内置了对 LangSmith 的支持。你不需要在代码里显式初始化 Client 或写日志,只需设置一个环境变量开关:

LANGCHAIN_TRACING_V2=true

只要这个开关打开,你的所有 Chain、LLM、Retriever 的运行细节都会被自动发送到 LangSmith 云端。


2. 环境配置

确保你的.env文件包含以下核心配置:

# 1. 总开关 (必须 true) LANGCHAIN_TRACING_V2=true # 2. 身份认证 (你的 Key) LANGCHAIN_API_KEY="ls__xxxxxx" # 3. 区域端点 (如果你是 EU 账号,必须加这行;US 账号不用加) # LANGCHAIN_ENDPOINT="https://eu.api.smith.langchain.com" # 4. 项目名称 (可选,如果不填,默认存入 "default" 项目) # LANGCHAIN_PROJECT="Mydemo"

3. 实战演示

我们已经准备好了一个测试脚本:src/examples/trace_demo.py

代码一览

这个脚本非常简单,就是一个普通的 LangChain 对话链,没有任何与 LangSmith 相关的代码。

importsrc.configs.configfromlangchain_openaiimportChatOpenAIfromlangchain_core.promptsimportChatPromptTemplatefromlangchain_core.output_parsersimportStrOutputParserfromsrc.llm.gemini_chat_modelimportget_gemini_llm# 1. 确保环境变量已加载 (.env)# 必须包含:# LANGCHAIN_TRACING_V2=true# LANGCHAIN_API_KEY=...# 2. 定义一个简单的链prompt=ChatPromptTemplate.from_template("请用{language}写一首关于{topic}的四行诗。")model=get_gemini_llm()parser=StrOutputParser()chain=prompt|model|parser# 3. 运行链# 这次运行会自动被 LangSmith 记录,因为环境变量开关已打开print("正在生成诗歌...")response=chain.invoke({"language":"中文","topic":"人工智能"})print("\n=== 生成结果 ===")print(response)print("==================")print("请去 LangSmith 控制台查看本次运行的 Trace 详情。")

运行脚本

在终端执行:

python src/examples/trace_demo.py

4. 如何查看 Trace Report (追踪报告)

脚本运行结束后,请按照以下步骤查看“上帝视角”的运行记录:

  1. 登录控制台:访问 LangSmith (EU) 或 LangSmith (US)。

  2. 进入项目

    • 在左侧侧边栏,点击Projects (项目)图标。
    • 点击列表中的“default”(如果你没设置LANGCHAIN_PROJECT变量)。
  3. 查看 Trace

    • 你会看到列表中最新出现的一行记录,Name 列通常显示为RunnableSequenceChatOpenAI
    • 点击这行记录
  4. 深度透视

    • 在右侧弹出的详情页中,你可以看到完整的调用链路树

    • Prompt: 点击ChatPromptTemplate节点,查看填入变量后的完整提示词。

    • LLM: 点击ChatOpenAI节点,查看发给 API 的原始 Payload 和 Token 消耗。

    • Output: 查看最终输出结果和耗时。

看到的数据价值

  • Latency (耗时): 哪个步骤拖慢了速度?
  • Token Usage: 这次问答花了多少钱?
  • Debug: 模型到底是因为 Prompt 没写好,还是逻辑错了?

总结

Zero Code Instrumentation (零代码插桩)是 LangSmith 最强大的特性之一。你只管写业务逻辑,监控和日志交给环境变量去处理。

http://www.cnnetsun.cn/news/175396.html

相关文章:

  • STM32学习——AD单通道AD多通道
  • 基于Spring Boot的农产品销售系统的设计与实现毕设源码
  • 基于Spring Boot的流浪动物救助平台的设计与实现毕业设计
  • 备份恢复-Cordovaopenharmony本地安全方案
  • 创建目标模块 Cordova 与 OpenHarmony 混合开发实战
  • 解决MQ消息丢失问题的5种方案
  • 芜湖,千兆网络下载速率只有10MB秒,过的什么苦日子
  • AI一周大事盘点(2025年12月14日~2025年12月20日)
  • K3s + Sysbox:让容器拥有“虚拟机的灵魂”
  • 8 个降AI率工具推荐,继续教育学生必备
  • 从开发一个AI美女聊天群组开始
  • 12.2K Star 爆火!开源免费的 FileConverter:右键一键搞定音视频 / 图片 / 文档转换,告别多工具切换
  • Java毕设项目:基于springboot的养宠物指南服务平台系统的设计与实现(源码+文档,讲解、调试运行,定制等)
  • 10 个降AI率工具,继续教育学生高效避坑指南
  • Java毕设项目推荐-基于SpringBoot的演唱会门票在线预定系统的设计与实现基于springboot的演唱会购票系统的设计与实现【附源码+文档,调试定制服务】
  • 升压芯片很简单(一),快速选择升压芯片+利用升压芯片设计LED电源
  • 基于web的人才招聘网站设计 nodejs vue
  • 测试20个降AI率工具后,我找到了2个去ai痕迹效果好的网站,还有免费降AI额度。
  • Thinkphp和Laravel在线点餐系统的设计与实现vue
  • 现代cpp在传统内存分配上的改进
  • Java毕设项目:基于springboot的物业报修系统的设计与实现(源码+文档,讲解、调试运行,定制等)
  • 【计算机毕业设计案例】基于springboot的物业报修系统的设计与实现线上化的报修管理平台(程序+文档+讲解+定制)
  • Java毕设选题推荐:基于springboot的社区团购系统的设计与实现、拼团下单、配送调度、资金结算【附源码、mysql、文档、调试+代码讲解+全bao等】
  • Java计算机毕设之基于springboot的幼儿园管理系统的设计与实现为幼儿园(含普惠园、民办园、连锁园)设计的 “家园共育 + 日常运营 + 安全监管(完整前后端代码+说明文档+LW,调试定制等)
  • I/O多路复用
  • 视频播放器PotPlayer下载安装教程:超详细图文步骤(PC+安卓)
  • Semantic Kernel 实战系列(六) - Memory与向量存储
  • 一个基于 .NET MAUI 的开箱即用的 UI 组件库,可快速搭建面向业务的应用程序界面!
  • Semantic Kernel 实战系列(七) - 高级主题 - Agents 与多代理系统
  • LeetCode每日一题——K个一组翻转链表