news 2026/6/10 11:20:05

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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 最强大的特性之一。你只管写业务逻辑,监控和日志交给环境变量去处理。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/4 4:45:51

springboot高校应届毕业生求职招聘系统vue_12wlz

文章目录具体实现截图主要技术与实现手段关于我本系统开发思路java类核心代码部分展示结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!具体实现截图 同行可拿货,招校园代理 springboot高校应届毕业生求职招聘系统vue_12wlz …

作者头像 李华
网站建设 2026/6/8 22:49:38

Excalidraw组合与锁定功能:防止意外修改

Excalidraw组合与锁定功能:防止意外修改 在远程协作日益深入技术工作流的今天,一张草图可能承载着整个系统的架构设计、一次关键评审的决策依据,甚至成为团队知识沉淀的核心载体。Excalidraw 作为一款开源、轻量且风格独特的手绘风白板工具&a…

作者头像 李华
网站建设 2026/5/29 21:19:15

基于Spring Boot的美食信息分享平台设计与实现毕设源码

博主介绍:✌ 专注于Java,python,✌关注✌私信我✌具体的问题,我会尽力帮助你。一、研究目的本研究旨在设计并实现一个基于Spring Boot框架的美食信息分享平台。该平台旨在为用户提供一个便捷、高效、互动性强的美食信息交流与分享环境。具体研究目的如下…

作者头像 李华
网站建设 2026/6/9 3:02:36

昨天线下赛的复盘

这次最大的感受:Re做题的时候不要啥都没分析出来就去写代码,不要觉得自己写着写着就能看懂,不可能的,不如先分析好,即使是先猜一下呢,还有就是测试数据不要写0,会和本身就是空的数据混了Re1#分最…

作者头像 李华