基于自有文档构建 RAG 与微调数据集
在构建检索增强生成(RAG)系统或进行大模型微调时,高质量的数据集是核心基础。企业日常产生的办公文档(如 Word、Excel、PPT、PDF 等)往往包含大量有价值的信息,但格式杂乱,难以直接利用。
本文将介绍如何将自有文档统一转换为结构化数据集,涵盖文本提取、表格解析、图像 OCR 识别及数据合并的全流程。
处理策略对比
针对多格式文档的处理,通常有三种主流方案:
- 分类型提取:将文本、图片、表格分别提取。例如将 Word/PDF 转为 HTML 或 Markdown,再分离内容;图片和表格单独处理为文本。
- 统一 OCR 提取:将所有文档转为图像,使用 OCR 工具统一提取。此方法能保留图表与原文本的相对位置,适合复杂排版,但精度受 OCR 影响。
- 智能化脚本处理:编写脚本自动识别文件类型,调用对应解析库。这是最高效的方式,能保持数据结构清晰,便于后续处理。
本文重点讲解第三种方案,实现一个自动化脚本,批量处理多种办公格式并生成标准数据集。
目标数据格式
为了适配 RAG 和微调任务,我们需要将数据输出为 JSONL 格式。每条记录应包含以下关键字段:
block_ID: 文本块的唯一标识符doc_ID: 所属文档的唯一标识符content_type: 内容类型(text, table, image)file_type: 源文件格式(docx, xlsx, pptx 等)file_source: 原始文件名text: 提取后的实际文本内容metadata: 其他元数据(如创建时间、作者等)
示例结构如下:
{
"sample_number": 1246,
"file_source": "MSFT_FY24Q4_10K.docx",
"text": "estimates determined by management...",
"metadata": {
"created_date": "2024-07-29T23:12:00Z",
"author_or_speaker": ""
}
}
工作流程设计
整个处理流程可分为四个核心步骤:


