# 数据集生成

根据资料和生成规则组织训练、评测或微调样本，保存为指定结构的数据集。

## 开始前准备

准备可核对的源资料、样本用途、输出字段定义和保存位置。先确定样本要用于训练、评测还是微调，再决定每条样本包含哪些字段。

## 使用模板

在创建工作流页面选择“从模板开始”，搜索“数据集生成”并载入画布。

在参数表单中填写以下必填项。

| 配置 | 用途 |
| --- | --- |
| 资料来源 | 选择已有文档、业务样例、规则要求或文件夹 |
| 解析档位 | 决定文档解析的速度、质量和费用 |
| 数据集目标 | 选择数据集的使用目标 |
| 样本格式 | 选择要生成的数据样本类型 |
| 生成规则 | 描述样本生成范围、质量要求、难度分布和必须遵守的规则 |
| 输出结构 | 定义生成数据集的 JSON Schema |
| 保存位置 | 生成数据集保存到 Catalog 的位置 |

保存参数后发起手动运行，系统先保存当前流程，再提交执行。

## 完整处理流程

连线表示执行顺序；各步骤通过模板配置的数据绑定取得输入。

![数据集生成](../images/dataset-generation-flow.svg)

## 配置生成要求

| 配置 | 默认值与使用方法 |
| --- | --- |
| 解析档位 | 默认标准；先确认源文档内容能被完整解析 |
| 数据集目标 | 默认 `training`，也可选 `evaluation` 或 `fine_tuning` |
| 样本格式 | 默认 `qa_pairs`；另有结构化样本和指令微调样本 |
| 样本数量 | 默认 20，表示期望数量，不保证实际生成数量相同 |
| 生成规则 | 明确知识范围、来源约束、缺失内容处理和样本难度 |
| 输出结构 | 用 JSON Schema 定义结果；与样本格式和生成指令一致 |
| 生成模式 | 默认 `n_to_1`，汇总资料生成 |

默认输出结构包含 `samples` 数组，条目字段包括 `instruction`、`input`、`output`、`source` 和 `tags`。选择问答对时，也要检查 Schema 是否采用你需要的字段；选择格式不会替你确认输出字段设计。

模板保存步骤绑定单结果 `result`。如果切换逐文档 `n_to_n`，还需调整保存节点以处理多结果和错误项，不能只切换下拉选项。提取结果结构见[信息提取](../nodes/ai-processing/information-extraction.md)。

## 示例：从产品说明生成评测题

1. 选择一份内容明确的产品说明，目标设为评测集，样本格式选择问答对。
2. 在生成规则中要求问题覆盖指定章节，答案仅使用资料中的事实，并提供来源说明。
3. 在输出 Schema 中定义样本数组和问题、答案、来源字段；样本数量先用较小值。
4. 保留汇总生成模式，选择输出卷并运行。
5. 对照原文逐条检查问题是否有答案、答案是否正确、来源是否支持结论，再统计合格样本。

## 检查保存结果

读取、解析、生成和保存按顺序执行。生成节点返回结构化结果，保存步骤将其写入 `generated-dataset.json`。本模板没有单独的知识库索引步骤。

检查实际样本数、重复项、字段结构和来源。生成文本中的来源字段仍需与原始资料核对，不能仅因字段非空就认为已经验证。

## 常见问题

| 现象 | 检查与处理 |
| --- | --- |
| 数量不足 | 检查生成结果与资料范围，按需要调整数量或范围后比较 |
| 答案包含资料外内容 | 在规则中限定来源，并人工核对样本 |
| 字段与预期格式不同 | 让 Schema 与生成指令使用同一套字段 |
| 逐文档模式保存不完整 | 核对多结果输出及保存绑定；默认流程绑定单结果 |
| 想直接用于训练 | 先完成内容、结构、重复与来源检查，再按训练系统要求转换格式 |

## 继续阅读

- [工作流模板](index.md)
- [运行与调试](../run-debug.md)
