跳到主要内容
本页面涵盖了将跟踪记录到 LangSmith 时需要理解的关键概念。 一个跟踪记录了您的应用程序所采取的步骤序列——从接收输入、通过中间处理到生成最终输出。跟踪中的每个步骤都由一个运行表示。多个跟踪被分组在一个项目中,多轮对话中的跟踪可以作为线程链接在一起。 下图展示了这些概念在一个简单的 RAG 应用程序中的上下文,该应用程序从索引中检索文档并生成答案。
Primitives of LangSmith Project, Trace, Run in the context of a question and answer RAG app.

运行

一个运行是表示 LLM 应用程序中单个工作单元或操作的跨度。这可以是 LLM 或链的单个调用,提示格式化调用,或可运行 lambda 调用。如果您熟悉 OpenTelemetry,您可以将运行视为一个跨度。 运行

跟踪

一个跟踪是单个操作的运行集合。例如,如果您有一个用户请求触发一个链,并且该链调用一个 LLM,然后调用一个输出解析器等等,所有这些运行都将是同一个跟踪的一部分。如果您熟悉 OpenTelemetry,您可以将 LangSmith 跟踪视为跨度集合。运行通过唯一的跟踪 ID 绑定到跟踪。 跟踪

线程

一个线程是表示单个对话的跟踪序列。许多 LLM 应用程序都有一个类似聊天机器人的界面,用户和 LLM 应用程序进行多轮对话。对话中的每一轮都表示为一个独立的跟踪,但这些跟踪通过属于同一个线程而链接在一起。线程中最新的跟踪是最新消息交换。 要将跟踪分组到线程中,您需要传递一个特殊的元数据键(session_idthread_idconversation_id),其具有将跟踪链接在一起的唯一标识符值。 了解如何配置线程 表示多轮对话中跟踪序列的线程。

项目

一个项目是跟踪的集合。您可以将项目视为与单个应用程序或服务相关的所有跟踪的容器。您可以有多个项目,每个项目可以有多个跟踪。 项目

反馈

反馈允许您根据特定标准对单个运行进行评分。每个反馈条目都包含一个反馈标签和反馈分数,并通过唯一的运行 ID 绑定到运行。反馈可以是连续的或离散的(分类),您可以在组织内的不同运行中重用反馈标签。 您可以通过多种方式收集运行的反馈:
  1. 与 LLM 应用程序的跟踪一起发送
  2. 由用户在应用程序中内联或在批注队列中生成。
  3. 离线评估期间由自动评估器生成。
  4. 在线评估器生成。
要了解有关反馈如何在应用程序中存储的更多信息,请参阅反馈数据格式指南 反馈

标签

标签是可附加到运行的字符串集合。您可以使用标签在 LangSmith UI 中执行以下操作:
  • 分类运行以便于搜索。
  • 筛选运行。
  • 将运行分组进行分析。
了解如何为跟踪附加标签 标签

元数据

元数据是可附加到运行的键值对集合。您可以使用元数据存储有关运行的附加信息,例如生成运行的应用程序版本、生成运行的环境或您希望与运行关联的任何其他信息。与标签类似,您可以使用元数据在 LangSmith UI 中筛选运行或将运行分组进行分析。 了解如何为跟踪添加元数据 元数据

数据存储和保留

对于 2024 年 5 月 22 日星期三或之后摄取的跟踪,LangSmith (SaaS) 最多保留跟踪数据 400 天,自跟踪插入 LangSmith 跟踪数据库之日起。 400 天后,跟踪将从 LangSmith 中永久删除,但会保留少量元数据,以便显示准确的统计数据,例如历史使用情况和成本。
如果您希望保留跟踪数据超过数据保留期限,可以将其添加到数据集中。一个数据集允许您存储跟踪输入和输出(例如,作为键值数据集),并且将无限期保留,即使在跟踪被删除后也是如此。

从 LangSmith 删除跟踪

如果您需要在过期日期之前从 LangSmith 中移除跟踪,可以通过删除包含它的项目来实现。 您可以通过以下方式之一删除项目: LangSmith 不支持自服务删除单个跟踪。 如果您需要在过期日期之前从 LangSmith 项目中删除单个跟踪(或一组跟踪),账户所有者应联系 LangSmith 支持,并提供组织 ID 和跟踪 ID。
以编程方式连接这些文档到 Claude、VSCode 等,通过 MCP 获取实时答案。
© . This site is unofficial and not affiliated with LangChain, Inc.