> ## Documentation Index
> Fetch the complete documentation index at: https://langchain-zh.cn/llms.txt
> Use this file to discover all available pages before exploring further.

# 在界面中创建和管理数据集

[*数据集*](/langsmith/evaluation-concepts#datasets) 使您能够使用一致的数据随时间进行可重复的评估。数据集由 [*示例*](/langsmith/evaluation-concepts#examples) 组成，这些示例存储输入、输出以及可选的参考输出。

本页概述了在 [UI](https://smith.langchain.com) 中 [创建](#创建数据集并添加示例) 和 [管理](#管理数据集) 数据集的各种方法。

## 创建数据集并添加示例

以下部分解释了在 LangSmith 中创建数据集并向其添加示例的不同方式。根据您的工作流程，您可以手动整理示例、从追踪中自动捕获、导入文件，甚至生成合成数据：

* [从追踪项目手动添加](#从追踪项目手动添加)
* [从追踪项目自动添加](#从追踪项目自动添加)
* [从标注队列中的示例添加](#从标注队列中的示例添加)
* [从 Playground 添加](#从-playground-添加)
* [从 CSV 或 JSONL 文件导入数据集](#从-csv-或-jsonl-文件导入数据集)
* [从数据集页面创建新数据集](#从数据集与实验页面创建新数据集)
* [通过数据集 UI 添加由 LLM 创建的合成示例](#添加由-llm-创建的合成示例)

### 从追踪项目手动添加

构建数据集的一个常见模式是将应用程序中的显著追踪转换为数据集示例。此方法要求您已 [配置 LangSmith 追踪](/langsmith/observability-concepts)。

<Check>
  构建数据集的一种技术是筛选最有趣的追踪，例如标记了用户负面反馈的追踪，并将它们添加到数据集中。有关如何筛选追踪的提示，请参阅 [筛选追踪](/langsmith/filter-traces-in-application) 指南。
</Check>

有两种方法可以从追踪项目手动将数据添加到数据集。导航到 **追踪项目** 并选择一个项目。

1. 从运行表中多选运行。在 **运行** 标签页上，多选运行。在页面底部，点击 <Icon icon="database" /> **添加到数据集**。
2. 在 **运行** 标签页上，从表中选择一个运行。在单个运行详情页面的右上角，选择 **添加到** -> **数据集**。

   当您从运行详情页面选择一个数据集时，将弹出一个模态框，告知您是否应用了任何 [转换](/langsmith/dataset-transformations) 或模式验证是否失败。

   然后，您可以在将运行添加到数据集之前选择性地编辑它。

### 从追踪项目自动添加

您可以使用 [运行规则](/langsmith/rules) 根据特定条件自动将追踪添加到数据集。例如，您可以添加所有 [标记](/langsmith/observability-concepts#tags) 了特定用例或具有 [低反馈分数](/langsmith/observability-concepts#feedback) 的追踪。

### 从标注队列中的示例添加

<Check>
  如果您依赖领域专家来构建有意义的数据集，请使用 [标注队列](/langsmith/annotation-queues) 为审阅者提供简化的视图。人工审阅者可以在将追踪添加到数据集之前选择性地修改其输入/输出/参考输出。
</Check>

您可以选择使用默认数据集配置标注队列，但也可以通过使用屏幕底部的数据集切换器将运行添加到任何数据集。选择正确的数据集后，点击 **添加到数据集** 或使用快捷键 `D` 将其添加到数据集中。

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

<Tip>
  您还可以使用 [自动化规则](/langsmith/rules) 设置规则，将满足特定条件的运行添加到标注队列。
</Tip>

### 从 Playground 添加

在 [**Playground**](/langsmith/prompt-engineering-concepts#playground) 页面上：

1. 选择 **设置评估**。

2. 如果您要开始一个新数据集，请点击 **+新建**，或从现有数据集中选择。

   <Note>
     对于具有嵌套键的数据集，不支持在 Playground 中内联创建数据集。要添加/编辑具有嵌套键的示例，您必须 [从数据集页面编辑](/langsmith/manage-datasets-in-application#从数据集与实验页面创建新数据集)。
   </Note>

3. 编辑示例：

   * 使用 **+行** 向数据集添加新示例。
   * 使用表格右侧的 **⋮** 下拉菜单删除示例。
   * 如果您要创建无参考数据集，请使用列中的 **x** 按钮移除 **参考输出** 列。请注意，此操作不可逆。

### 从 CSV 或 JSONL 文件导入数据集

在 **数据集与实验** 页面上，点击 **+新建数据集**，然后从 CSV 或 JSONL 文件 **导入** 现有数据集。

### 从数据集与实验页面创建新数据集

1. 从左侧菜单导航到 **数据集与实验** 页面。
2. 点击 **+ 新建数据集**。
3. 在 **新建数据集** 页面上，选择 **从头创建** 标签页。
4. 为数据集添加名称和描述。
5. （可选）创建 [数据集模式](#创建数据集模式) 以验证您的数据集。
6. 点击 **创建**，这将创建一个空数据集。
7. 要内联添加示例，请在数据集页面上，转到 **示例** 标签页。点击 **+ 示例**。
8. 以 JSON 格式定义示例，然后点击 **提交**。有关数据集拆分的更多详细信息，请参阅 [创建和管理数据集拆分](#创建和管理数据集拆分)。

### 添加由 LLM 创建的合成示例

如果您有现有示例并在数据集上定义了 [模式](#创建数据集模式)，当您点击 **+ 示例** 时，会有一个 <Icon icon="sparkles" /> **添加 AI 生成示例** 的选项。这将使用 LLM 创建 [合成](/langsmith/evaluation-concepts#building-datasets) 示例。

在 **生成示例** 中，执行以下操作：

1. 点击窗格右上角的 **API 密钥**，将您的 OpenAI API 密钥设置为 [工作区密钥](/langsmith/administration-overview#workspaces)。如果您的工作区已设置了 OpenAI API 密钥，可以跳过此步骤。

2. 选择 <Tooltip tip="少量示例输入-输出对，指导模型如何执行任务。">少量示例</Tooltip>：切换 **自动** 或 **手动** 参考示例。您可以从数据集中手动选择这些示例，或使用自动选择选项。

3. 输入要生成的合成示例数量。

4. 点击 **生成**。

   <img className="block dark:hidden" src="https://mintcdn.com/hhh-8c10bf0c/lQoj_T05pUgIcyPg/langsmith/images/generate-synthetic-light.png?fit=max&auto=format&n=lQoj_T05pUgIcyPg&q=85&s=3aec2b5795f84cedc4644f556a475ad0" alt="AI 生成示例配置窗口。手动和自动选择以及要生成的示例数量选项。" width="689" height="383" data-path="langsmith/images/generate-synthetic-light.png" />

   <img className="hidden dark:block" src="https://mintcdn.com/hhh-8c10bf0c/lQoj_T05pUgIcyPg/langsmith/images/generate-synthetic-dark.png?fit=max&auto=format&n=lQoj_T05pUgIcyPg&q=85&s=8823d45b4132cf6b0c3e241c63a1b390" alt="AI 生成示例配置窗口。手动和自动选择以及要生成的示例数量选项。" width="674" height="361" data-path="langsmith/images/generate-synthetic-dark.png" />

5. 示例将出现在 **选择生成的示例** 页面上。选择要添加到数据集中的示例，并可在最终确定前进行编辑。点击 **保存示例**。

6. 每个示例都将根据您指定的数据集模式进行验证，并在源元数据中标记为 **synthetic**。

   <img className="block dark:hidden" src="https://mintcdn.com/hhh-8c10bf0c/BCyPqRNhtAjzdCmk/langsmith/images/select-generated-examples-light.png?fit=max&auto=format&n=BCyPqRNhtAjzdCmk&q=85&s=950826ff6b9408cc97b9a12ebd693941" alt="选择生成的示例页面，已选择生成的示例和保存示例按钮。" width="1781" height="856" data-path="langsmith/images/select-generated-examples-light.png" />

   <img className="hidden dark:block" src="https://mintcdn.com/hhh-8c10bf0c/BCyPqRNhtAjzdCmk/langsmith/images/select-generated-examples-dark.png?fit=max&auto=format&n=BCyPqRNhtAjzdCmk&q=85&s=a4f95d01b8074f94a2689cb71a95907f" alt="选择生成的示例页面，已选择生成的示例和保存示例按钮。" width="1779" height="838" data-path="langsmith/images/select-generated-examples-dark.png" />

## 管理数据集

### 创建数据集模式

LangSmith 数据集存储任意的 JSON 对象。我们建议（但不要求）您为数据集定义模式，以确保它们符合特定的 JSON 模式。数据集模式使用标准的 [JSON 模式](https://json-schema.org/) 定义，并添加了一些 [预建类型](/langsmith/dataset-json-types)，使常见原语（如消息和工具）的类型定义更容易。

模式中的某些字段具有 `+ 转换` 选项。转换是预处理步骤，如果启用，会在将示例添加到数据集时更新它们。例如，`转换为 OpenAI 消息` 转换会将类似消息的对象（如 LangChain 消息）转换为 OpenAI 消息格式。

有关可用转换的完整列表，请参阅 [数据集转换参考](/langsmith/dataset-transformations)。

<Note>
  如果您计划从 LangChain [ChatModels](/oss/python/langchain/models) 或使用 [LangSmith OpenAI 包装器](/langsmith/annotate-code#wrap-the-openai-client) 的 OpenAI 调用中收集生产追踪到您的数据集，我们提供了一个预建的聊天模型模式，可将消息和工具转换为行业标准的 OpenAI 格式，以便下游与任何模型一起进行测试。您还可以自定义模板设置以匹配您的用例。

  有关更多信息，请参阅 [数据集转换参考](/langsmith/dataset-transformations)。
</Note>

### 创建和管理数据集拆分

有关何时以及为何使用拆分的概述，请参阅 [数据集组织](/langsmith/evaluation-concepts#dataset-organization)。

要在 UI 中创建和管理拆分：

1. 在数据集中选择示例。
2. 点击 **添加到拆分**。
3. 在出现的弹出菜单中，您可以为所选示例选择或取消选择拆分，或创建新拆分。

<img src="https://mintcdn.com/hhh-8c10bf0c/dGi5Qyx6ZNfUuqyP/langsmith/images/add-to-split2.png?fit=max&auto=format&n=dGi5Qyx6ZNfUuqyP&q=85&s=91274f280d6a5514d06953f7b522477a" alt="添加到拆分" width="1309" height="915" data-path="langsmith/images/add-to-split2.png" />

### 编辑示例元数据

要向示例添加元数据：

1. 点击一个示例，然后点击弹出窗口右上角的 **编辑**。
2. 在此页面上，更新或删除现有元数据，或添加新元数据。

您可以使用此功能存储有关示例的信息，例如标签或版本信息，然后在分析实验结果时 [按元数据分组](/langsmith/analyze-an-experiment#group-results-by-metadata)，或在 SDK 中调用 `list_examples` 时 [按元数据筛选](/langsmith/manage-datasets-programmatically#list-examples-by-metadata)。

### 筛选示例

您可以按拆分、元数据键/值筛选示例，或对示例执行全文搜索。这些筛选选项位于示例表格的左上角：

* **按拆分筛选**：选择拆分 > 选择要筛选的拆分。
* **按元数据筛选**：筛选器 > 从下拉菜单中选择 **元数据** > 选择要筛选的元数据键和值。
* **全文搜索**：筛选器 > 从下拉菜单中选择 **全文** > 输入您的搜索条件。

您可以添加多个筛选器，只有满足所有筛选器的示例才会显示在表格中。

<img src="https://mintcdn.com/hhh-8c10bf0c/lQoj_T05pUgIcyPg/langsmith/images/filters-applied.png?fit=max&auto=format&n=lQoj_T05pUgIcyPg&q=85&s=d5bd61abd1ded3d5c8fede42017e9f98" alt="应用于示例的筛选器" width="1307" height="370" data-path="langsmith/images/filters-applied.png" />

***

<div className="source-links">
  <Callout icon="edit">
    [Edit this page on GitHub](https://github.com/langchain-ai/docs/edit/main/src/i18n\zh-CN\langsmith\manage-datasets-in-application.mdx) or [file an issue](https://github.com/langchain-ai/docs/issues/new/choose).
  </Callout>

  <Callout icon="terminal-2">
    [Connect these docs](/use-these-docs) to Claude, VSCode, and more via MCP for real-time answers.
  </Callout>
</div>
