数据治理

面向大模型训练数据集的非结构化数据治理系统总体设计框架

1. 设计目标与范围

本系统面向已有的非结构化、半结构化资料,包括 PDF、Word、PPT、TXT、图片等。资料经过解析、切块、问题生成、答案生成和逐级治理,最终形成用于大模型监督微调(SFT)的高质量单轮问答数据集。

最终交付的单条样本格式为:

{
  "messages": [
    {"role": "user", "content": "问题内容"},
    {"role": "assistant", "content": "答案内容"}
  ]
}

本章是总体设计:明确系统有哪些能力、各能力如何衔接、数据如何流转和放行。EasyDataset 的具体接口、Markdown 如何分批读取、提示词生产最终做成 Skill 还是程序,均留待现状核实和详细设计阶段决定。

系统遵循两条基本规则:

  1. 加工一步,治理一步。 每阶段产生的结果通过治理后,才能进入下一阶段。
  2. 提示词先批准,再投入生产。 问题、答案及其质检提示词,需基于项目资料形成并经过试运行与审核。

2. 全流程:提示词准备与数据生产

系统包含两条相互衔接的流程。

2.1 数据生产流程

原始数据

解析工具生成 Markdown

【门禁 1:Markdown 治理】
   ↓ 仅放行有效 Markdown
导入 EasyDataset,生成文本块

【门禁 2:文本块治理】
   ↓ 仅放行合格文本块
生成候选问题

【门禁 3:问题治理】
   ↓ 仅放行合格问题
生成候选答案

【门禁 4:答案治理】
   ↓ 仅放行合格问答对
形成固定版本的 SFT 数据集

Markdown 治理是必经环节。解析工具成功输出 .md 文件,并不代表其内容完整、顺序正确或适合生成问答。

2.2 项目提示词准备流程

项目提示词以通过门禁 1 的 Markdown 资料集为主要依据,自行建设生产能力:

合格 Markdown 资料集

分析实际主题、知识类型和内容边界

形成项目范围与质量规则

生成问题提示词、答案提示词

形成对应的问题质检、答案质检提示词

用实际资料试运行、审核、修订

确定可投入生产的提示词版本

书籍目录、Markdown 标题和文件名可以帮助识别主题,但目录不是必需输入。Word、PPT、TXT 没有目录时,仍应能够依据 Markdown 原文形成项目范围与提示词。

提示词准备流程在问题生成前完成。合格 Markdown 可以先用于切块;批量生成问题时,需要同时具备已放行文本块已批准的项目提示词版本

2.3 两条流程的汇合点

合格 Markdown ──→ 文本块 ──→ 文本块放行 ───────────┐
       │                                              │
       └→ 项目规则与提示词 ──→ 试运行、审核、定版本 ───┤

                                                  生成问题

                                               问题治理与放行

                                                  生成答案

                                               答案治理与放行

提示词审核是生产准备的审核;Markdown、文本块、问题、答案治理是数据产物的四道门禁。两者职责不同,不能互相代替。

3. 系统边界与职责

能力主要职责
原始数据管理保存原件、来源及版本,支持后续回查
文件解析将 PDF、Word、PPT、TXT、图片等转换为 Markdown
Markdown 治理判断解析结果是否有效,决定能否进入后续流程
项目提示词生产分析合格 Markdown,形成项目规则、生成提示词和质检提示词;经试运行后发布版本
EasyDataset 加工对合格 Markdown 切块,使用项目配置的模型和提示词生成问题、答案
逐级数据治理检查、审核、追溯和筛选文本块、问题、答案,控制阶段放行
数据集发布汇总已批准问答,形成固定版本并导出训练文件

“治理程序”表示一组统一的治理能力,并不预设必须由单一软件承担全部功能。EasyDataset、解析工具和自研程序可以分工执行;但放行规则、来源关系、审核结果和发布资格需要在整体设计中统一管理。

项目提示词生产能力也需要我们自行建设。此前提及的同事 Skill 未共享,不能作为本系统的现成组件;其实现形式暂不预定。

4. 项目提示词体系

4.1 提示词的依据

提示词生产首先需要理解项目资料实际包含什么,再确定:

  • 哪些主题属于本项目;
  • 要训练模型回答哪些类型的问题;
  • 哪些内容适合提炼为通识,哪些个案应排除;
  • 抽象时哪些适用条件、例外和措辞强度必须保留;
  • 答案应如何表达;
  • 哪些问题交给固定规则检查,哪些需要语义质检。

这些规则不能只凭目录标题推断。Markdown 原文是主要依据;项目训练目标和人工确定的取舍要求也是必要输入。生成后的项目规则应可供审核,而不是直接投入大批量生产。

4.2 四类提示词

提示词运行时应接收的内容职责
问题生成提示词合格文本块、项目规则生成明确、有价值、能够由来源回答的问题
问题质检提示词来源文本、候选问题、项目规则检查主题范围、限定条件、独立性和可回答性
答案生成提示词已放行问题、相关来源、项目规则生成忠于来源的答案
答案质检提示词相关来源、问题、候选答案、项目规则核查问答对应关系及答案各项关键结论的依据

问题和答案质检提示词可以参考生成提示词中的要求产生,但还应与项目规则核对,避免遗漏。特别是来源语义质检必须看到来源内容:只审阅最终 QA,可以发现格式或表达问题,无法判断专业结论是否来自原文。

4.3 固定规则与语义质检

两类检查各有职责:

  • 固定规则检查:由程序检查明确可判定的问题,例如输出格式、空内容、数量限制、特定禁用表达及明显重复。
  • LLM 语义质检:判断问题是否扩大原文范围、来源是否足以回答、答案是否加入无依据内容,以及条件、例外和规范性用语是否变化。

语义质检输出应能明确对应被检查的产物,并给出判定及原因,便于程序控制流转。输出结构和具体调用方式在详细设计阶段确定。

4.4 提示词投入生产的条件

一套提示词生成后,需选取具有代表性的文本块和问答试运行,包括典型内容、边界内容与明显不合格内容。审核重点是:

  • 是否保留有价值的知识,避免误杀;
  • 是否拦截来源不足或超出项目范围的内容;
  • 生成提示词与质检提示词是否存在冲突;
  • 质检结果是否足够明确,能用于流程放行;
  • 对相同项目资料,结果是否符合训练目标。

审核通过后,将项目规则、生成提示词和质检提示词作为一个可追溯的版本组合投入生产。

5. 统一数据模型

系统需要管理以下对象及其关系:

项目与资料集
  ├─ 项目规则、提示词版本
  └─ 原始文件
       └─ Markdown 解析结果
            └─ 文本块
                 └─ 候选问题
                      └─ 候选答案
                           └─ 已批准问答样本
                                └─ 数据集版本

对象之间不必限定为一对一。一份原始文件可以产生多个解析版本;一个文本块可以产生多个问题;一个问题可以有多个答案候选;一个答案也可能需要多个相关文本块共同提供依据。

每个阶段的产物至少需要关联四类信息:

  1. 身份:产物本身及所属项目。
  2. 来源:上游产物、原始文件和可核对的位置。
  3. 加工过程:解析方式、切分规则、模型与提示词版本。
  4. 治理过程:检查结果、问题原因、审核决定及时间。

已批准问答样本与候选问题、候选答案需要区分。模型生成成功,仅表示候选结果产生;只有完整来源链及对应门禁通过,才能形成可发布样本。

EasyDataset 中的记录标识可作为外部关联信息保存。统一数据模型应能独立表达来源关系,以便后续调整工具。

6. 四道质量门禁与流转规则

每个阶段采用同一套基本流转逻辑:

已放行上游产物
  → 加工
  → 候选产物
  → 检查与审核
  → 放行 / 待处理 / 剔除
门禁主要判断放行后允许的下一步
Markdown内容是否完整、顺序正确、关键含义准确、能够回查原件进入资料分析与文本切块
文本块语义是否完整,条件与例外是否保留,是否适合提问进入问题生成
问题是否明确、有训练价值、边界准确、来源足以回答进入答案生成
答案是否回答所问,关键结论是否有依据,条件和措辞强度是否准确形成已批准问答样本

放行允许该产物进入下一步;待处理表示需要复核、修正或重新生成,暂不流转;剔除表示该候选结果不再使用。每项决定应记录具体原因。

一批加工任务成功,不代表批次中的每个结果都合格。例如,同一份 Markdown 产生的文本块可以分别放行、待处理或剔除。系统应以具体产物的治理结果控制后续流转。

发现错误时,应从最早出错的环节修复。Markdown 数值错误需要回到解析结果;问题扩大适用范围需要修正问题;答案自行补充原因则处理答案。上游修复后,相关下游结果应重新核对,不能无条件沿用旧放行结论。

7. 版本与重跑

系统至少要区分:

版本说明
来源版本原始文件内容的变化
Markdown 与加工版本解析方式、切块规则、模型等加工条件的变化
提示词版本项目规则以及问题、答案生成和质检要求的变化
数据集版本某次发布实际包含的样本集合

变化发生后,先确定受影响范围,再决定复核或重跑:

  • 原始文件或 Markdown 变化:检查相关文本块及其下游问答。
  • 切块规则变化:检查新文本块及其下游问答。
  • 问题生成提示词变化:检查新问题和对应答案。
  • 答案生成提示词变化:检查新答案。
  • 质检规则变化:先复查受影响的产物,再决定是否需要重新生成。
  • 项目资料范围变化:复核项目规则和提示词是否仍适用。

提示词发布新版本,不意味着旧问答自动错误;但新生成的结果应记录所用版本,旧结果是否继续入集需要按当前发布标准判断。任何重跑产生的新结果都属于候选产物,必须重新经过对应门禁。

已发布并用于训练的数据集版本保持固定。后续发现问题,在新版本中修正,并记录受影响的旧版本和样本。

8. 数据集发布

一条问答进入发布候选集,需要具备完整来源链,以及 Markdown、文本块、问题、答案四道门禁的有效放行记录;还要符合本项目的训练目标和使用范围。

发布前除逐条资格检查,还应检查整个数据集的重复程度、知识覆盖、样本分布和来源版本冲突。单条问答通过审核,不意味着它一定被本版收录。

每次发布形成一个固定快照:明确收录哪些样本、采用哪些来源和提示词版本、实际交付哪个训练文件。最终导出为约定的 messages 结构;来源、证据、审核过程等治理信息保留在生产体系中,与导出样本保持关联。

导出时应全量验证 JSON 格式、角色顺序、内容非空、样本数量与发布清单一致,并确保未放行样本没有混入。如果另有训练集与验证集划分,也应固定划分结果并检查同源相似问答的交叉情况。

9. 进入下一阶段前需要核实的事项

这份总体设计确定了应具备的能力,尚未断言当前 EasyDataset 都能直接提供。进入详细设计前,需要核实:

  1. 能否取得文本块、问题、答案各阶段结果及其对应关系;
  2. 能否只让已放行文本块进入问题生成、已放行问题进入答案生成;
  3. 提示词如何配置和更新,能否关联具体生成批次;
  4. 各阶段结果如何获取,以便固定规则检查、LLM 质检及人工复核;
  5. 合格问答如何按约定格式导出,并与治理记录对应。

核实后,再确定自研能力的具体边界,以及提示词生产最终采用 Skill、程序或组合方式。

本框架的整体原则是:以合格 Markdown 原文确定项目提示词,以已批准提示词驱动加工,以四道门禁控制数据流转,以来源和版本关系保证最终训练数据集可核实、可复现。