← 返回首页
教程AI 工程实战 · 03

把复杂 PDF 变成 RAG 能用的 Markdown:MinerU 4.0 实操

用 MinerU 4.0 解析图文、表格与公式混排文档,并建立一套面向 RAG 的清洗和验收流程。

RAG 的上限往往在模型调用之前就被决定了:标题层级错乱、双栏顺序颠倒、表格拆散或页眉反复出现,都会让后续切分和检索失去语义。文档解析不是预处理杂务,而是知识工程的第一道质量门。

这篇教程聚焦三件事:

  • 用 MinerU 4.0 选择合适的解析档位
  • 把“成功导出”升级为可检查的质量标准
  • 为后续切分、引用和检索保留结构信息

01. 安装与首个解析任务

MinerU 4.0 要求 Python 3.10–3.14,官方推荐 3.12。用独立环境安装,避免与现有机器学习项目的依赖混在一起:

uv venv --python 3.12
source .venv/bin/activate
uv pip install -U "mineru>=4.0,<5"
mineru-kit parse document.pdf -o document.md --tier standard

mineru-kit parse 是无状态的一次性解析,适合批处理;当前版本还提供 Web UI 和 API Server。安装方式和命令可能随版本变化,执行前应核对 MinerU Quick Start。

02. 四个档位怎么选

MinerU 4.0 把解析能力分为 Flash、Basic、Standard 和 Advanced。选择原则不是“越高越好”,而是用最低成本满足文档难度:

档位 适合内容 主要取舍
Flash 文本型、结构简单 PDF 最快,复杂布局能力有限
Basic 常规图文文档 速度与结构恢复平衡
Standard 表格、公式、多栏排版 默认起点,质量更稳
Advanced 扫描件、复杂学术或工程资料 成本与耗时最高

先抽取 5–10 页代表性页面做样本:封面、目录、普通正文、最复杂表格、公式页和扫描页各选一张。样本通过后再跑全量,能避免几百页解析完成后才发现参数不合适。

03. 不要只检查“有没有文件”

输出 Markdown 后,按下面顺序验收:

  1. 阅读顺序:双栏是否左右串行,脚注是否插入正文中间。
  2. 标题层级:章节关系是否保留,目录是否被误当正文。
  3. 表格完整性:行列、合并单元格和单位是否丢失。
  4. 公式与符号:上下标、希腊字母、编号是否可读。
  5. 图片关联:图片是否落在对应说明附近,是否有可追踪路径。
  6. 噪声:页眉、页脚、水印和重复页码是否被清理。

给每项记录“通过、可修复、需重跑”。高风险表格还应与原 PDF 做抽样对照,不能只看 Markdown 渲染得是否整齐。

04. 为 RAG 做二次整理

解析结果通常不能直接入库。先做结构化清洗:删除重复导航,统一标题级别,为表格补上章节语境,并保留 source_file、page、section 等元数据。图片说明要与图片路径成对保留。

切分时优先沿 Markdown 标题边界,而不是每隔固定字数“一刀切”。如果某节超过长度上限,再在段落或列表边界继续拆分,并把上级标题写入每个片段的元数据。这样查询“某设备的维护周期”时,命中的表格不会脱离设备名称。

05. 批量处理的最小防线

批量任务至少要记录输入文件、页数、开始时间、解析档位、输出路径和失败原因。不要覆盖原始 PDF,也不要让失败任务生成看似正常的空文件。

incoming/   原始文件,只读
parsed/     MinerU 原始输出
cleaned/    人工或脚本清洗结果
reports/    质量记录与失败清单

遇到乱码先确认原文是否有文本层;页面顺序异常优先升级解析档位;显存不足则减小并发或使用远程推理。修复后只重跑失败样本,确认问题消失,再恢复全量处理。

关键认识

“转成 Markdown”只是格式变化;能被正确切分、检索和引用,才算真正完成了文档结构化。

SEARCH / 搜索

找一篇内容

输入关键词,快速找到教程、实验、随笔和专题。

ESC 关闭