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

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

轨迹
A Trace 是一组与单个操作相关的运行。例如,如果您有一个触发链的用户请求,而该链调用了一个大语言模型(LLM),然后是一个输出解析器,依此类推,所有这些运行都属于同一个追踪。如果您熟悉OpenTelemetry,您可以将 LangSmith 追踪视为一组 spans。运行通过唯一的追踪 ID 与追踪绑定。 
项目
A Project 是一组追踪的集合。您可以将项目视为包含与单个应用程序或服务相关的所有追踪的容器。您可以拥有多个项目,每个项目可以包含多个追踪。 
反馈
Feedback 允许您根据特定标准对单个运行进行评分。 每个反馈条目由一个反馈标签和反馈分数组成,并通过唯一的运行 ID 与运行绑定。 目前反馈可以是连续的或离散的(分类的),并且您可以在组织内的不同运行之间重复使用反馈标签。
收集运行反馈可以通过多种方式实现:
- 与 LLM 应用程序一起追踪发送 from the LLM application
- 由用户在应用中的内联或标注队列中生成
- 由自动评估器在离线评估期间生成
- 由 在线评估器 生成
要了解有关反馈如何在应用程序中存储的更多信息,请参阅此参考指南。

标签
Tags 是附加到运行(runs)的字符串集合。它们用于对运行进行分类,并在 LangSmith UI 中更轻松地搜索这些运行。标签可用于在 LangSmith UI 中过滤运行,也可用于将运行分组以便进行分析。了解如何将标签附加到您的跟踪记录

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

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