Skip to main content
本页面涵盖了在记录 LangSmith 跟踪时需要理解的关键概念。 一个trace记录了您的应用程序执行的步骤序列——从接收输入,经过中间处理,到生成最终输出。每个步骤在跟踪中由一个run表示。多个跟踪可以在一个project中分组,多轮对话的跟踪可以作为一个thread链接在一起。 以下图表展示了这些概念在一个简单的RAG应用程序的上下文中,该应用程序从索引中检索文档并生成答案。
LangSmith项目的基本概念,在问答RAG应用中追踪、运行。

运行

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

跟踪

一个 trace 是单个操作的运行集合。例如,如果您有一个用户请求触发了链,并且该链调用了一个LLM,然后是输出解析器,等等,所有这些运行都将属于同一个trace。如果您熟悉 OpenTelemetry,您可以将LangSmith trace视为一系列span的集合。运行通过唯一的trace ID与trace绑定。 Trace

线程

线程 是表示单个对话的一系列痕迹。许多大型语言模型(LLM)应用都拥有类似聊天机器人的界面,用户与LLM应用进行多轮对话。对话中的每一轮都由其自身的痕迹表示,但这些痕迹通过属于同一线程而相互连接。线程中最新的痕迹是最新的一次消息交换。 要将跟踪信息分组到线程中,您需要传递一个特殊的元数据键(session_idthread_idconversation_id),并带有唯一标识符值,以将跟踪信息链接在一起。 学习如何配置线程 表示多轮对话中一系列痕迹的线程。

项目

一个 项目 是一组痕迹的集合。您可以将项目视为一个容器,用于存放与单个应用程序或服务相关的所有痕迹。您可以拥有多个项目,并且每个项目可以包含多个痕迹。 Project

反馈

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

标签

标签是可附加到运行上的字符串集合。您可以在LangSmith UI中使用标签执行以下操作:
  • 对运行进行分类,以便于搜索。
  • 过滤运行。
  • 将运行分组以进行分析。
学习如何将标签附加到您的跟踪记录 Tags

元数据

_Metadata_ 是一组键值对,您可以将其附加到运行中。您可以使用元数据来存储有关运行的额外信息,例如生成运行的应用的版本、生成运行的环境,或您希望与运行关联的任何其他信息。类似于标签,您可以使用元数据在 LangSmith UI 中过滤运行或将运行分组进行分析。 学习如何将元数据添加到您的跟踪记录 Metadata

数据存储和保留

对于2024年5月22日(星期三)或之后摄取的跟踪数据,LangSmith(SaaS)将保留跟踪数据,最长可达跟踪数据被插入LangSmith跟踪数据库的日期和时间之后的400天。 经过400天后,LangSmith中相关的痕迹将被永久删除,同时保留有限量的元数据,用于展示准确的统计数据,例如历史使用情况和成本。
如果您希望将跟踪数据保留超过数据保留期,可以将它添加到数据集中。一个 数据集 允许您存储跟踪的输入和输出(例如,作为一个键值数据集),并且将永久保留,即使跟踪被删除后也是如此。

从LangSmith中删除痕迹

如果您需要在LangSmith到期之前删除一个痕迹,您可以通过删除包含该痕迹的项目来实现。 您可以采用以下任一方式删除项目: LangSmith不支持自助删除单个痕迹。 如果您需要在LangSmith项目到期前删除单个跟踪(或一组跟踪),账户所有者应联系LangSmith支持并提供组织ID和跟踪ID。