LangSmith 的数据结构
LangSmith 将多个跟踪 组织在一个项目 中。每个跟踪记录了应用程序为单个操作所执行的一系列步骤,这些步骤由各个单独的运行 组成。您可以将多轮对话中的跟踪关联起来,形成一个会话。项目
项目 是一个容器,用于存放与单个应用程序或服务相关的所有跟踪。 如何将跟踪记录到项目中。跟踪
跟踪 是针对单个操作的一系列运行的集合。例如,当用户请求触发一个调用 LLM 然后调用输出解析器的链时,所有这些运行都属于同一个跟踪。运行通过唯一的跟踪 ID 绑定到一个跟踪。如果您熟悉 OpenTelemetry,可以将 LangSmith 的跟踪理解为一组跨度的集合。Each trace is limited to a maximum of 25,000 runs. Once the trace reaches this limit, LangSmith will reject any additional runs that you send for that trace.
运行
运行 是一个跨度,代表 LLM 应用程序中一个独立的工作单元:一次 LLM 调用、一个提示词格式化步骤、一次检索调用,或任何其他离散操作。如果您熟悉 OpenTelemetry,可以将运行理解为一个跨度。会话
会话 是一系列跟踪的序列,代表一次单独的对话。多轮对话中的每一轮都是一个独立的跟踪,但这些跟踪通过一个共享的标识符连接起来。要将跟踪分组到会话中,需要传递一个特殊的元数据键 (session_id 或 thread_id),并赋予其一个唯一的值。
学习如何配置会话。
使用 聊天功能 来分析跟踪、运行和会话。聊天功能帮助您理解智能体性能、调试问题,并从对话线程中获取洞察,而无需手动翻查数据。
跟踪数据增强
反馈
反馈 允许您基于特定标准为单个运行打分。每个反馈条目包含一个标签和一个分数,并通过唯一的运行 ID 绑定到一个运行。反馈可以是连续的或离散的(分类的),并且标签可以在组织内的不同运行之间重用。 关于反馈的存储方式,请参阅 反馈数据格式指南。标签
标签 是您可以附加到运行上的字符串,用于在 LangSmith UI 中对它们进行分类、过滤和分组。 学习如何为您的跟踪添加标签。元数据
元数据 是一组您可以附加到运行上的键值对。例如,应用程序版本、环境或任何其他上下文信息。与标签类似,您可以使用元数据来过滤和分组运行。 学习如何为您的跟踪添加元数据。发送跟踪数据
有两种方式可以将跟踪数据发送到 LangSmith。集成
LangSmith 集成 为流行的 LLM 提供商和智能体框架提供自动跟踪功能(相当于通用可观测性中的自动 instrumentation)。当您使用如 LangChain、LangGraph、OpenAI、Anthropic 或 CrewAI 等支持的框架时,集成会自动捕获输入、输出和元数据,无需手动修改代码。 浏览所有集成。手动 instrumentation
手动 instrumentation 允许您为任何代码添加跟踪,无论其框架如何。当您没有使用支持的集成,或者需要对跟踪内容进行精细控制时,请使用此方式。LangSmith 提供三种机制:@traceable/traceable:用于跟踪任何函数的装饰器trace上下文管理器(Python):包装特定的代码块RunTreeAPI:低级别、显式的跟踪构建
数据保留
LangSmith(SaaS 版)自数据摄入起保留跟踪数据 400 天。此后,跟踪数据将被永久删除,但会为统计使用情况保留有限的元数据。有关保留层级和定价的详细信息,请参阅 使用情况与计费:数据保留。若需将数据保留超出上述期限,请将其添加到一个数据集中。数据集可以永久保留,即使源跟踪已被删除。
Connect these docs to Claude, VSCode, and more via MCP for real-time answers.

