现在很多人做 AI 知识库,第一反应是:把 PDF 丢进去,让大模型自己读。
但真正用起来会发现,问题经常不在大模型,而在文档本身。
论文有双栏排版、公式和参考文献;扫描件需要 OCR;报告里有表格、页眉页脚和脚注;PPT、Word、Excel 又是另一套结构。直接把这些文件塞进 RAG 或聊天工具,结果很容易变成:
- 段落顺序乱了;
- 表格结构丢了;
- 公式变成乱码;
- 页眉页脚被反复召回;
- 扫描件根本提不出干净文本。
所以,很多 AI 知识库真正缺的不是“再接一个大模型”,而是一个靠谱的文档解析层。
今天看到一个很适合这个场景的开源项目:MinerU。
一句话概括:
它把 PDF、图片、Word、PPT、Excel 等复杂文档,解析成适合大模型、RAG 和 Agent 使用的 Markdown / JSON。
MinerU 是什么?
MinerU 是 OpenDataLab 开源的文档解析工具,项目介绍里把自己定位为面向 LLM、RAG 和 Agent 工作流的高精度文档解析引擎。
它不是一个普通 PDF 阅读器,也不是简单 OCR 工具。
它更像一个“文档预处理器”:先把复杂文件拆开、识别、还原结构,再输出成机器更容易处理的格式。
目前它支持的输入类型包括:
| 类型 | 适合处理什么 |
|---|---|
| 论文、报告、电子书、合同、说明书 | |
| 图片 | 截图、扫描件、拍照文档 |
| DOCX | Word 文档 |
| PPTX | 演示文稿 |
| XLSX | 表格文件 |
输出则可以是 Markdown、JSON,以及一些中间格式。对做 AI 应用的人来说,最常用的就是把文档变成 Markdown 或结构化 JSON,然后再进入检索、切片、问答、摘要或 Agent 工作流。
它解决的不是“读文件”,而是“读得像人”
普通文本提取工具往往只关心一件事:把字拿出来。
但对复杂文档来说,只把文字抽出来远远不够。
比如一篇双栏论文,如果提取顺序错了,左栏读一半跳到右栏,再跳回来,大模型后面再强也会被喂晕。
再比如表格,如果只把单元格文字一行行抽出来,列关系丢了,后续问“某个指标是多少”就很容易答错。
MinerU 比较有价值的地方,是它会处理这些文档结构问题:
- 按人类阅读顺序输出文本;
- 尽量移除页眉、页脚、脚注和页码;
- 保留标题、段落、列表等结构;
- 提取图片、图片说明、表格标题和表格注释;
- 把公式识别成 LaTeX;
- 把表格转换成 HTML;
- 自动检测扫描版 PDF 和乱码 PDF,并启用 OCR。
这些能力听起来有点“幕后”,但对 AI 知识库很关键。
RAG 的效果,不只取决于向量模型和大模型,也取决于进入知识库之前的材料是不是干净、顺序是不是正确、结构是不是还在。
适合拿来做什么?
1. 把论文变成可问答资料
科研论文是 MinerU 很典型的使用场景。
论文里经常有双栏排版、数学公式、图表、脚注和引用。如果只是复制 PDF 文字,格式经常会乱。用 MinerU 先转成 Markdown,再进入知识库,后续做总结、问答和引用定位会更舒服。
适合这些需求:
- 批量整理论文;
- 给论文做摘要;
- 提取方法、实验结果和结论;
- 搭一个某个领域的论文知识库。
2. 把扫描件和图片变成可搜索文本
很多资料不是电子文本,而是扫描件、拍照文件或者截图。
这类内容如果不先 OCR,就只是图片。人能看,系统不能搜,也很难进入 RAG。
MinerU 支持扫描 PDF 和图片 OCR,官方说明里提到 OCR 支持 109 种语言。它适合把这些资料变成可搜索、可切片、可索引的文本:
- 扫描版书籍;
- 纸质合同;
- 课堂讲义;
- 会议拍照资料;
- 旧文档归档。
3. 给 RAG 做文档清洗
很多 RAG 项目效果不好,不一定是模型不行,而是文档清洗太粗。
比如页眉页脚反复出现,会污染召回结果;表格被拆乱,会影响事实问答;公式和图片说明丢失,会让技术文档少掉关键信息。
MinerU 可以放在 RAG 之前,作为文档解析和清洗步骤:
原始文档 → MinerU 解析 → Markdown / JSON → 切片 → 向量化 → 检索问答
这比直接把 PDF 扔进知识库更稳。
4. 做个人资料库和本地第二大脑
如果你经常收藏 PDF、电子书、白皮书、产品说明和课程资料,也可以把 MinerU 当成“资料入库前的转换器”。
先把文档解析成 Markdown,再放进 Obsidian、知识库、搜索工具或本地 AI 系统里。这样资料就不只是一个文件,而是变成可以搜索、可以引用、可以被 AI 处理的内容。
上手方式
MinerU 有在线版、桌面客户端、Gradio WebUI、CLI、API 和 Docker 等多种使用方式。
如果只是想先试试效果,官方建议先用在线 Demo 或 Web 版本评估解析质量,再决定要不要本地部署。
本地安装可以使用 pip 和 uv:
pip install --upgrade pip
pip install uv
uv pip install -U "mineru[all]"
安装后,解析文件的命令很直接:
mineru -p <input_path> -o <output_path>
如果设备没有合适的 GPU,也可以指定 pipeline 后端,在纯 CPU 环境下运行:
mineru -p <input_path> -o <output_path> -b pipeline
这里要提醒一下:文档解析不是轻量任务。官方文档里也写得比较坦诚,不同后端对系统、内存、显存和磁盘空间有要求。准备长期本地跑之前,最好先看一遍硬件要求和 FAQ。
最近更新有什么值得看?
MinerU 近期更新比较频繁。
GitHub 显示,项目最新 release 是 2026 年 6 月 18 日的 3.4.0。这个版本重点做了几件事:
pipeline后端的 OCR 模型升级到 PP-OCRv6;- 官方称在 OmniDocBench v1.6 上 OCR 准确率提升约 11%;
- OCR 推理和处理流程优化,官方称处理速度提升约 100%;
- 优化模型下载逻辑,首次安装时可以根据网络环境选择更合适的模型源;
- 本地已有模型缓存时优先复用,减少重复下载。
这些更新说明 MinerU 不是只停留在 demo 阶段,而是在往“更容易部署、更适合批量处理”的方向走。
不过这里也要注意,准确率和速度提升是项目方基于特定 benchmark 和版本给出的结果。你自己的文档效果,还是要用真实样本测试。
它和普通 OCR 工具有何不同?
如果只是识别一张图片里的文字,很多 OCR 工具都能做。
MinerU 更适合的是复杂文档解析。
| 工具类型 | 主要能力 | 局限 |
|---|---|---|
| 普通 OCR | 图片转文字 | 不一定理解版式、表格和公式 |
| PDF 文本提取 | 抽取 PDF 内文字 | 扫描件、双栏、复杂排版容易出问题 |
| 手动复制 | 简单直接 | 批量处理慢,格式容易乱 |
| MinerU | 文档结构解析 + OCR + Markdown / JSON 输出 | 部署和资源要求更高,复杂文档仍需检查 |
所以它不是要替代所有 OCR 工具,而是更适合“要把文档变成 AI 可用数据”的场景。
适合谁?
我觉得 MinerU 比较适合这些人:
- 正在搭 RAG 或企业知识库的开发者;
- 需要批量整理 PDF、论文和报告的人;
- 经常处理扫描件、图表、公式和复杂版式的人;
- 想把本地资料变成 Markdown 的效率工具用户;
- 希望文档处理尽量本地化的团队。
如果你只是偶尔把一页截图转文字,用普通 OCR 或在线工具可能更省事。MinerU 的优势,要在复杂文档、批量处理和 AI 工作流里才更明显。
也要注意这些限制
第一,复杂文档解析本来就很难。
扫描质量差、手写内容多、表格跨页、图片和文字混排很复杂时,解析结果可能不稳定。即使工具能跑完,也要抽样检查输出质量。
第二,本地部署有一定门槛。
它支持 CPU、GPU 和不同后端,但不同平台的依赖和硬件要求不一样。对不熟悉 Python 环境的人来说,第一次安装可能会遇到依赖、模型下载和加速配置问题。
第三,Markdown 不等于完美知识库。
MinerU 负责把文档解析出来,但后面怎么切片、怎么加元数据、怎么去重、怎么做召回和答案校验,仍然需要你自己设计。
第四,许可证需要看清楚。
项目当前使用 MinerU Open Source License,官方说明是基于 Apache 2.0 并带有附加条件。个人学习和内部测试一般问题不大,企业准备商用、二次分发或集成到产品前,最好认真看许可证条款。
小结
MinerU 最吸引我的地方,是它抓住了 AI 知识库里一个容易被低估的环节:
文档进大模型之前,先要变成干净、结构化、可检索的材料。
PDF、论文、扫描件、表格和公式,原本都是 RAG 里的麻烦来源。MinerU 做的事情,就是尽量把这些复杂文档转换成 Markdown / JSON,让后面的检索、总结、问答和 Agent 处理更可靠。
如果你只是想偶尔提取一段文字,它可能有点重。
但如果你正在做知识库、论文库、资料归档,或者经常需要把复杂文档喂给 AI,那么 MinerU 值得拿几份真实文档试一下。
别急着把所有 PDF 直接丢给大模型。很多时候,先把文档解析好,后面的 AI 才有机会答得好。