概念
本概念指南涵盖了将追踪日志记录到 LangSmith 时需要理解的重要主题。一个 Trace(追踪)本质上是您的应用程序从输入到输出所经历的一系列步骤。这些独立的步骤中的每一个都由一个 Run(运行)表示。一个 Project(项目)仅仅是追踪的集合。以下图表在简单的 RAG 应用(从索引检索文档并生成答案)的上下文中展示了这些概念。

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

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

标签
Tags(标签)是可附加到运行的字符串集合。它们用于对运行进行分类,并使其更容易在 LangSmith 用户界面中搜索。标签可用于在 LangSmith 用户界面中筛选运行,也可用于将运行分组以进行分析。了解如何为您的追踪添加标签
元数据
Metadata(元数据)是可附加到运行的键值对集合。元数据可用于存储有关运行的附加信息,例如生成运行的应用程序版本、生成运行的环境,或任何您想与运行关联的其他信息。与标签类似,您可以使用元数据在 LangSmith 用户界面中筛选运行,并可用于将运行分组以进行分析。了解如何为您的追踪添加元数据
数据存储和保留
对于在 2024 年 5 月 22 日星期三或之后摄取的追踪,LangSmith (SaaS) 将追踪数据最多保留 400 天,从追踪插入 LangSmith 追踪数据库的日期和时间算起。
400 天后,追踪将从 LangSmith 永久删除,仅保留少量元数据,以便显示准确的统计数据,如历史使用量和成本。
如果您希望将追踪数据保留超过数据保留期限,可以将其添加到数据集中。数据集允许您存储追踪输入和输出(例如,作为键值数据集),并且会永久保留,即使在追踪被删除后也是如此。
从 LangSmith 删除追踪
如果您希望在到期日期之前从 LangSmith 删除追踪,LangSmith 支持通过删除项目来删除追踪。
这可以通过以下方式完成:
- 在 LangSmith UI 中通过“项目”溢出菜单上的“删除”选项
- 通过 Delete Tracer Sessions API 端点
- 通过 LangSmith SDK 中的
delete_project()(Python) 或deleteProject()(JS/TS)
LangSmith 目前不支持自助删除单个追踪。
如果您需要在追踪到期日期之前从 LangSmith 项目中删除单个追踪(或一组追踪),请让您的帐户所有者联系 LangSmith 支持,并提供您的组织 ID 和追踪 ID。