AI项目博客
记录 AI 工程实践与大模型应用

LangChain 1.2 入门(十四):用 LangSmith 查看追踪与监控指标

环境变量配好后,不需要改代码,也不需要手动上报:只要程序里执行了 load_dotenv(),LangSmith 就会自动记录每次运行。这一篇跑三个示例,然后看后台能看到什么。

14.1 运行任意 LangChain 程序

示例 1:ChatDeepSeek。

import os
from dotenv import load_dotenv
from langchain_deepseek import ChatDeepSeek

# 加载 .env,override=True 表示 .env 优先
load_dotenv(override=True)

DEEPSEEK_API_KEY = os.getenv("DEEPSEEK_API_KEY")
DEEPSEEK_BASE_URL = os.getenv("DEEPSEEK_BASE_URL")

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

示例 2:init_chat_model 连接 CloseAI。

from langchain.chat_models import init_chat_model
from dotenv import load_dotenv
import os

load_dotenv(override=True)

model = init_chat_model(
    model="deepseek-v4-flash",
    model_provider="openai",
    api_key=os.getenv("CLOSEAI_API_KEY"),
    base_url=os.getenv("CLOSEAI_BASE_URL"),
)
print(model.invoke("你好,用一句话回答"))

示例 3:带 config 的调用。run_name、tags、metadata 会一起上报到 LangSmith,后续可以按名称、标签或用户 ID 筛选运行记录。

from langchain.chat_models import init_chat_model
from dotenv import load_dotenv
import os
from rich import print as rprint

load_dotenv(override=True)

DEEPSEEK_API_KEY = os.getenv("DEEPSEEK_API_KEY")
DEEPSEEK_BASE_URL = os.getenv("DEEPSEEK_BASE_URL")

model = init_chat_model(
    model="deepseek-v4-flash",
    model_provider="deepseek",
    api_key=DEEPSEEK_API_KEY,
    base_url=DEEPSEEK_BASE_URL,
    temperature=0.2,
    max_tokens=500,
    configurable_fields=("model", "model_provider", "temperature", "max_tokens"),
)

config = {
    "run_name": "joke_generation",
    "tags": ["my_tag1", "my_tag2"],
    "metadata": {
        "user_id": "demo_user",
        "session_id": "sess_123",
    },
    "configurable": {
        "model": "deepseek-v4-pro",
        "model_provider": "openai",
        "temperature": 0.7,
        "max_tokens": 1000,
    },
}

response = model.invoke("1 + 2 = ?", config=config)
rprint(response)

14.2 在 Tracing 中查看项目

打开 LangSmith WebUI,左侧进入 Tracing,就能看到按 LANGSMITH_PROJECT 命名的项目。项目行里直接展示最近运行时间、Trace 数量、错误率、P50/P99 延迟、Token 总量和成本。

LangSmith Tracing 项目列表:项目名、运行时间、Trace 数、错误率与延迟

点击项目任意位置进入详情。Runs 列表会显示每次调用的模型或类名(ChatOpenAI、ChatDeepSeek、ChatOpenRouter 等)、输入、输出、错误、开始时间、延迟和所属数据集。

LangSmith 项目详情:Runs 列表与每次调用的输入输出、延迟

点击某一条运行记录,可以看到更细的信息:完整的 Prompt、模型返回、Token 消耗、每一步的耗时,以及你在 config 里设置的 run_name、tags、metadata。

14.3 查看监控指标

左侧进入 Monitoring,先选择要观察的项目。顶部可以切换时间范围,默认最近 7 天。

LangSmith Monitoring 页面:选择 Tracing 项目

指标分成了多个标签页,点击标签或下滑页面即可切换:

  • Traces:Trace 数量随时间的变化,区分成功与错误;
  • LLM Calls:LLM 调用次数、P50/P99 延迟;
  • Cost & Tokens:总成本、单次 Trace 成本、Token 消耗;
  • Tools:工具调用的统计;
  • Run Types:按运行类型分组;
  • Feedback Scores:人工或自动评估的分数。

LangSmith Monitoring 的指标标签:Traces、LLM Calls、Cost & Tokens 等

例如「LLM Calls」页会同时给出调用次数和延迟分位数:绿色是成功、红色是错误;延迟图里蓝线是 P50、紫线是 P99。P99 明显高于 P50,说明少数请求存在长尾延迟。

LangSmith Monitoring:LLM 调用次数、P50/P99 延迟与成本图表

这些报表不需要额外开发,LangSmith 会根据上报的 Trace 自动聚合。项目上线后,先看错误率和 P99 延迟,再看 Token 与成本趋势,通常就能定位大部分问题。

14.4 小结

LangSmith 的使用链路很短:账号与 Key → 四个环境变量 → 正常跑 LangChain 代码 → 在 Tracing 看单次调用,在 Monitoring 看整体趋势。真正需要排错时,再往下钻到某一条 Trace 的 Prompt、返回和耗时。

上一篇:注册 LangSmith 并配置 API Key;系列第一篇:为什么需要 LangChain。

本文根据公开课程课件整理,并结合 LangSmith 官方文档核对与补充。

赞(0)
未经允许不得转载:AI项目博客 » LangChain 1.2 入门(十四):用 LangSmith 查看追踪与监控指标

评论 抢沙发

AI项目博客

专注 AI 工程化落地 —— 覆盖智能体、大模型、Java AI 与 Python 的学习笔记,以及 AI 平台的项目实战记录。

关于本站文章归档

登录

找回密码

注册