跳到主要内容

如何在 UI 中管理数据集

推荐阅读

在深入阅读本文档之前,阅读以下内容可能会有所帮助

与数据集交互的最简单方法是在 LangSmith 应用中直接操作。在这里,您可以创建和编辑数据集及示例。

设置您的数据集

要创建数据集,请前往 LangSmith 中的“数据集 & 实验”页面,然后点击 + Dataset。您有 2 个选项可以开始

选项 1:从 CSV 创建

为数据集选择名称和描述,然后确认推断的输入和输出列是否正确。

Confirm Columns

选项 2:创建空数据集

设置 schema

LangSmith 数据集存储任意 JSON 对象。我们建议(但不要求)您为数据集定义 schema。数据集 schema 使用标准 JSON schema 定义,并添加了一些 预构建类型,这些类型使对消息和工具等常见原语进行类型化变得更容易。

您 schema 中的某些字段具有 + 转换 选项。“转换”是预处理步骤,如果启用,则会在您将示例添加到数据集时更新示例。例如,“转换为 OpenAI 消息”转换会将类似消息的对象(如 LangChain 消息)转换为 OpenAI 消息格式。

有关可用转换的完整列表,请参阅 我们的参考文档

注意

如果您计划从 LangChain ChatModels 或使用 LangSmith OpenAI 包装器 的 OpenAI 调用中在数据集中收集生产 traces,我们提供了一个预构建的聊天模型 schema,该 schema 将消息和工具转换为行业标准 openai 格式,这些格式可以与任何模型一起在下游用于测试。您还可以自定义模板设置以匹配您的用例。

请参阅 数据集转换参考文档 以获取更多信息。

在 UI 中将 runs 添加到数据集

有几种方法可以在 UI 中将示例添加到您的数据集。

从 tracing 项目 UI 添加 runs

构建数据集的常见模式是简单地使用应用程序并将有趣的 traces 转换为数据集示例。为此,我们首先筛选我们的 tracing 项目以找到我们要添加到数据集的 runs。然后,我们将这些 runs 的输入、输出和元数据添加到数据集。

提示

构建数据集的一种极其强大的技术是深入挖掘最有趣的 traces,例如标记为用户反馈不佳的 traces,并将它们添加到数据集。有关如何筛选 traces 的提示,请参阅 筛选 traces 指南

有两种方法可以将数据从 tracing 项目添加到数据集。

第一种方法是从 runs 表中多选 runs

第二种方法是导航到 run 详情页面,然后点击右上角的 添加到 -> 数据集

当您从 run 详情页面选择正确的数据集时(这个数据集使用转换来优化 LLM runs 的收集),会弹出一个模态框,告知您是否应用了任何转换/schema 验证是否失败。然后,您可以选择在将 run 添加到数据集之前对其进行编辑。

自动将 runs 添加到数据集

您可以使用 run 规则 根据特定条件自动将 traces 添加到数据集。例如,您可以将所有带有特定标签的 traces 添加到数据集。

从注释队列添加 runs

注释队列可以选择配置默认数据集,但它们允许您通过简单地按下屏幕底部的数据集切换器将 runs 添加到任何数据集。选择正确的数据集后,您可以点击 添加到数据集 或按热键 D 将 run 添加到其中。

您在注释队列中对 run 所做的任何修改都将延续到数据集,并且与 run 关联的所有元数据也将被复制。

请注意,您还可以设置规则以将满足条件的 runs 添加到注释队列,然后按照下面的指南从注释队列中添加。

直接通过数据集 UI 添加 runs

前往“数据集 & 实验”UI,点击“示例”选项卡,然后点击 + 示例。这将允许您以内联 JSON 格式定义示例。

通过数据集 UI 添加由 LLM 创建的合成示例

如果您的数据集上定义了 schema,当您点击 + 示例 时,您将看到 生成示例 的选项。这将使用 LLM 创建合成示例。

您必须执行以下操作

  1. 选择少量示例:选择一组示例来指导 LLM 的生成。您可以从数据集中手动选择这些示例,或使用自动选择选项。
  2. 指定示例数量:输入您要生成的合成示例数量。
  3. 配置 API 密钥:确保您的 OpenAI API 密钥已在“API 密钥”链接中输入。 Generate Synthetic Examples

点击“生成”后,示例将显示在页面上。您可以选择要添加到数据集的示例,并可以选择在最终确定之前对其进行编辑。每个示例都将根据您指定的数据集 schema 进行验证,并在源元数据中标记为“合成”。 Generate Synthetic Examples

导出数据集

您可以直接从 Web 应用程序将您的 LangSmith 数据集导出为 CSV 或 OpenAI evals 格式。

为此,请从主页点击“导出数据集”。为此,请选择一个数据集,点击“示例”,然后点击示例表格顶部的“导出数据集”按钮。

Export Dataset Button

这将打开一个模态框,您可以在其中选择要导出的格式。

Export Dataset Modal

创建和管理数据集拆分

数据集拆分是数据集的划分,您可以使用它来分割您的数据。例如,在机器学习工作流程中,通常将数据集拆分为训练集、验证集和测试集。这对于防止过拟合非常有用 - 模型在训练数据上表现良好,但在未见过的数据上表现不佳。在评估工作流程中,当您的数据集包含您可能想要单独评估的多个类别时,或者如果您正在测试您可能想要在将来包含在数据集中的新用例,但现在想要保持分离状态时,这样做可能很有用。请注意,可以通过元数据手动实现相同的效果 - 但我们希望拆分用于数据集的更高级别的组织,以将其拆分为单独的评估组,而元数据将更多地用于存储有关示例的信息,例如标签和有关其来源的信息。

在机器学习中,最佳实践是保持您的拆分独立(每个示例仅属于一个拆分)。但是,我们允许您在 LangSmith 中为同一示例选择多个拆分,因为对于某些评估工作流程来说,这可能是有意义的 - 例如,如果一个示例属于您可能想要评估应用程序的多个类别。

为了在应用中创建和管理拆分,您可以选择数据集中的一些示例,然后点击“添加到拆分”。从弹出的菜单中,您可以为选定的示例选择和取消选择拆分,或创建新的拆分。

Add to Split

编辑示例元数据

您可以通过点击一个示例,然后点击侧面板中的“元数据”选项卡,将元数据添加到您的示例中。在此页面上,您可以更新/删除现有元数据,或添加新元数据。您可以使用它来存储有关示例的信息,例如标签或版本信息,当您在 SDK 中调用 list_examples 时,您可以使用这些信息进行筛选。

Add Metadata

筛选示例

您可以通过元数据键/值或全文搜索来筛选示例。要筛选示例,请点击表格左上角的“筛选”

Filter Examples

接下来,点击“添加筛选器”,然后从弹出的下拉列表中选择“全文”或“元数据”。您可以添加多个筛选器,并且只有满足所有筛选器的示例才会显示在表格中。

Filters Applied to Examples


此页面是否对您有帮助?


您可以留下详细的反馈 在 GitHub 上.