LangSmith 可观测性让你能够记录、检查和分析 LLM 应用程序采取的每一个步骤。本页面介绍 LangSmith 中数据的结构以及如何发送追踪。
LangSmith 数据结构
LangSmith 将多个 追踪 分组在一个 项目中。每个追踪记录应用程序针对单个操作所采取的步骤序列,这些步骤由独立的 运行组成。你可以将多轮对话中的追踪链接为一个 线程.
graph TB
Project -->|contains| Trace1[Trace]
Project -->|contains| Trace2[Trace]
Trace1 -->|contains| Run1[Run]
Trace1 -->|contains| Run2[Run]
Trace1 -->|contains| Run3[Run]
Trace1 -->|part of| Thread
Trace2 -->|part of| Thread
项目
A _项目_ 是包含与单个应用程序或服务相关的所有追踪的容器。
追踪
A _追踪_ 是单个操作的运行集合。例如,如果用户请求触发了一个链,该链调用了 LLM 然后调用了输出解析器,所有这些运行都属于同一个追踪。运行通过唯一的追踪 ID 绑定到追踪。如果你熟悉 OpenTelemetry,你可以将 LangSmith 追踪视为一个跨度集合。
运行
A _运行_ 是代表 LLM 应用程序中单个工作单元的跨度:调用 LLM、格式化提示词、检索调用或任何其他离散操作。如果你熟悉 OpenTelemetry,你可以将运行视为一个跨度。
线程
A _线程_ 是表示单个对话的追踪序列。多轮对话中的每一轮都是自己的追踪,但追踪通过共享标识符链接。要将追踪分组到线程中,请传递带有唯一值的特殊元数据键 (session_id or thread_id)。
追踪增强
反馈
_反馈_ 允许你根据特定标准对单个运行进行评分。每个反馈条目由一个标签和一个分数组成,并通过唯一的运行 ID 绑定到运行。反馈可以是连续的或离散的(分类的),标签可以在组织内的运行中重复使用。
有关反馈存储方式的更多信息,请参阅 反馈数据格式指南.
标签
_标签_ 是你可以附加到运行上的字符串,用于在 LangSmith UI 中对运行进行分类、筛选和分组。
元数据
_元数据_ 是一个键值对集合,可以附加到运行记录上。例如应用程序版本、环境或任何其他上下文信息。与标签类似,您可以使用元数据来过滤和分组运行记录。
发送追踪
向 LangSmith 发送追踪数据有两种方式。
集成
LangSmith _集成_ 为流行的 LLM 提供商和智能体框架提供自动追踪功能(相当于通用可观测性中的自动插桩)。当您使用支持的框架(如 LangChain、LangGraph、OpenAI、Anthropic 或 CrewAI)时,集成会自动捕获输入、输出和元数据,无需手动修改代码。
手动插桩
_手动插桩_ 允许您向任何代码添加追踪功能,无论使用何种框架。当您未使用支持的集成,或需要对追踪内容进行精细控制时,可使用此方法。LangSmith 提供三种机制:
- -
@traceable/traceable:用于追踪任何函数的装饰器 - -
trace上下文管理器(Python):包装特定代码块 - -
RunTreeAPI:低级、显式追踪构建
数据保留
LangSmith( SaaS )从数据接入之日起保留追踪数据 400 天。之后,追踪将被永久删除,仅保留有限的元数据用于使用统计。保留层级和定价的详细信息,请参阅 使用与计费:数据保留.
如需在到期日前删除追踪,请参阅 管理追踪.