概念
本概念指南涵盖了在将跟踪记录到 LangSmith 时需要了解的重要主题。一个Trace实质上是应用程序从输入到输出所采用的一系列步骤。每个步骤都由Run.一个Project只是一个跟踪的集合。下图在一个简单的 RAG 应用程序的上下文中显示了这些概念,该应用程序从索引中检索文档并生成答案。

LangSmith 中的原始数据类型
运行
一个Run是一个 span,表示 LLM 应用程序中的单个工作或作单元。这可以是任何内容,从对 LLM 或链的单次调用,到提示格式化调用,再到可运行的 lambda 调用。如果您熟悉 OpenTelemetry,则可以将运行视为一个 span。
要了解有关如何在应用程序中存储运行的更多信息,请参阅此参考指南。

痕迹
一个Trace是与单个作相关的运行的集合。例如,如果您有一个触发链的用户请求,并且该链调用 LLM,然后调用输出解析器,依此类推,则所有这些运行都将属于同一跟踪。如果您熟悉 OpenTelemetry,则可以将 LangSmith 跟踪视为范围的集合。运行通过唯一的跟踪 ID 绑定到跟踪。
项目
一个Project是跟踪的集合。您可以将项目视为与单个应用程序或服务相关的所有跟踪的容器。您可以有多个项目,每个项目可以有多个跟踪。
反馈
Feedback允许您根据特定标准对单个运行进行评分。
每个反馈条目都包含一个反馈标签和反馈分数,并由唯一的运行 ID 绑定到运行。
反馈当前可以是连续的,也可以是离散的(分类的),您可以在组织内的不同运行中重复使用反馈标签。
可以通过多种方式收集有关运行的反馈:
要了解有关如何在应用程序中存储反馈的更多信息,请参阅此参考指南。

标签
Tags是可以附加到运行的字符串的集合。它们用于对运行进行分类,以便更轻松地在 LangSmith UI 中搜索它们。标签可用于在 LangSmith UI 中筛选运行,并可用于将运行分组在一起进行分析。了解如何将标签附加到跟踪

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

数据存储和保留
对于在 2024 年 5 月 22 日星期三或之后提取的跟踪,LangSmith (SaaS) 将跟踪数据保留最多 400 天,超过将跟踪插入 LangSmith 跟踪数据库的日期和时间。
400 天后,跟踪将从 LangSmith 中永久删除,并保留有限数量的元数据,以便显示准确的统计数据,例如历史使用情况和成本。
如果您希望将跟踪数据保留的时间超过数据保留期,您可以将其添加到数据集中。数据集允许您存储跟踪输入和输出(例如,作为键值数据集),并且将无限期地保留,即使在跟踪被删除后也是如此。
从 LangSmith 中删除跟踪
如果您希望在到期日期之前从 LangSmith 中删除跟踪,LangSmith 支持通过删除项目来删除跟踪。
这可以通过以下方式完成:
- 在 LangSmith UI 中,通过项目溢出菜单上的“Delete”选项
- 通过 Delete Tracer Sessions API 端点
- 通过
delete_project()(Python) 或deleteProject()(JS/TS) 在 LangSmith SDK 中
LangSmith 目前不支持自助删除单个跟踪。
如果您需要在 LangSmith 项目到期日期之前从 LangSmith 项目中删除单个跟踪(或一组跟踪),请让您的账户所有者联系 LangSmith Support,并提供您的组织 ID 和跟踪 ID。