点 赞
0
热 度
0
评 论
0

MinerU:把任意复杂文档转成 LLM 友好的结构化数据

  1. 首页
  2. MinerU:把任意复杂文档转成 LLM 友好的结构化数据

文章摘要

摸鱼小助手

MinerU:把任意复杂文档转成 LLM 友好的结构化数据

最近半年 AI Agent 火起来之后,「喂文档给模型」这件事变得比以往任何时候都重要。问题是现实世界的文档很少是干净的 Markdown——它们是扫描的 PDF、双栏排版的论文、带表格的财报、混排图文的技术白皮书,甚至是从未规范化的 Office 文档。

传统 OCR 工具只能把图片变成文字,对版面结构、表格、公式、阅读顺序几乎无能为力。而 MinerU(opendatalab/MinerU)做的事,恰好是把这种「脏文档」一键变成高质量的 Markdown / JSON,让下游的 RAG、Agent、模型微调直接能消费。

今天 trending 榜上 MinerU 一天涨了 700+ star,到今天为止累计 7.1 万 star——这已经是文档解析领域的明星项目了。本文快速过一遍它能干什么、为什么值得装、以及怎么用 Docker 一键跑起来。

背景:文档解析为什么这么难

做过 RAG 的人都吃过这个亏:

  1. 用 PyPDFLoader 抽论文,引用、图表、公式全混成一团文字。

  2. 用 Tesseract OCR 扫描件,表格变成一堆坐标错位的字符串。

  3. 双栏论文按行读取,第二栏的段落被错误拼接到第一栏末尾。

  4. 带复杂表头的财务报表,pandas.read_html 读进来全是 NaN。

  5. 多格式输入:PDF、PNG、JPG、JPEG、WEBP、GIF 都能直接解析。

  6. 结构化输出:Markdown(保留标题层级、列表、代码块)、JSON(带位置和层级元信息)、含 layout 的中间结果。

  7. 版面分析(Layout):自动识别标题、段落、表格、图片、公式、页眉页脚、参考文献。

  8. 表格识别(Table):把 PDF 里的表格还原成 Markdown 表格 / HTML,跨页表格也能合并。

  9. 公式识别(Formula):数学公式转 LaTeX,化学式也能处理。

  10. 阅读顺序(Reading Order):双栏、多栏、混排图文按人类阅读顺序输出,不会乱序。

  11. 多语言:中、英、日、韩、法、德、俄等几十种语言 OCR。

  12. 多种解析后端:pipeline(默认,CPU/GPU 都能跑)、vlm(基于 InternVL 的视觉语言模型版本,效果更好但需要更强 GPU)。

  13. 一篇 20 页的英文论文(pipeline 模式,CPU):约 60-90 秒。

  14. 同一篇(pipeline 模式,A100):约 5-10 秒。

  15. vlm 模式(InternVL):A100 上约 15-20 秒,效果显著更好。

  16. 正在做 RAG / Agent 的开发者,需要把 PDF 知识库结构化喂给 LLM。

  17. 研究人员,要批量处理 arXiv 论文、技术报告。

  18. 自托管玩家,想搭一套本地文档问答系统替代 NotebookLM。

  19. 数据团队,要把扫描件、财报、合同转成可分析的结构化数据。

  20. 已经有付费 Document AI(如 Azure Form Recognizer、Google Document AI)且预算充足——商业服务在小语种、定制版面模板上可能更稳。

  21. 只需要纯文本抽取、不在乎表格和公式——PyPDFLoader 这种轻量方案够了。

  22. 海量文档批量离线处理(MinerU 是实时解析,没有原生批处理优化,自己包一层 scheduler 吧)。

  23. 严格的安全/合规场景(要走内部审计的话建议 fork 一份自部署,不直接用公共镜像)。

  24. 仓库:github.com/opendatalab/MinerU

  25. 官方文档:mineru.readthedocs.io

  26. 在线 Demo:mineru.net

  27. 论文:arXiv 上的「MinerU: An Open-Source High-Quality Data Extraction Tool」可搜到

  28. Discord / 微信群:README 里有二维码

这些问题的根因不是 OCR 不准,而是「文档结构恢复」这件事本身极难。人类阅读一份 PDF 时,眼睛会自动识别标题层级、表格边界、图注对应关系、阅读顺序;但机器没有这种「版面理解」能力。

MinerU 走的是深度学习路线:版面分析 + 表格识别 + 公式识别 + 阅读顺序推理,一套端到端 pipeline 输出结构化的 Markdown / JSON。它是书生·浦语(InternLM)系列衍生出的开源工具,背后有上海 AI Lab 的研究背景,对中英文混排、复杂表格、数学公式的支持尤其好。

它能做什么

官方 README 列了 MinerU 的核心能力:

  1. 用 PyPDFLoader 抽论文,引用、图表、公式全混成一团文字。

  2. 用 Tesseract OCR 扫描件,表格变成一堆坐标错位的字符串。

  3. 双栏论文按行读取,第二栏的段落被错误拼接到第一栏末尾。

  4. 带复杂表头的财务报表,pandas.read_html 读进来全是 NaN。

  5. 多格式输入:PDF、PNG、JPG、JPEG、WEBP、GIF 都能直接解析。

  6. 结构化输出:Markdown(保留标题层级、列表、代码块)、JSON(带位置和层级元信息)、含 layout 的中间结果。

  7. 版面分析(Layout):自动识别标题、段落、表格、图片、公式、页眉页脚、参考文献。

  8. 表格识别(Table):把 PDF 里的表格还原成 Markdown 表格 / HTML,跨页表格也能合并。

  9. 公式识别(Formula):数学公式转 LaTeX,化学式也能处理。

  10. 阅读顺序(Reading Order):双栏、多栏、混排图文按人类阅读顺序输出,不会乱序。

  11. 多语言:中、英、日、韩、法、德、俄等几十种语言 OCR。

  12. 多种解析后端:pipeline(默认,CPU/GPU 都能跑)、vlm(基于 InternVL 的视觉语言模型版本,效果更好但需要更强 GPU)。

  13. 一篇 20 页的英文论文(pipeline 模式,CPU):约 60-90 秒。

  14. 同一篇(pipeline 模式,A100):约 5-10 秒。

  15. vlm 模式(InternVL):A100 上约 15-20 秒,效果显著更好。

  16. 正在做 RAG / Agent 的开发者,需要把 PDF 知识库结构化喂给 LLM。

  17. 研究人员,要批量处理 arXiv 论文、技术报告。

  18. 自托管玩家,想搭一套本地文档问答系统替代 NotebookLM。

  19. 数据团队,要把扫描件、财报、合同转成可分析的结构化数据。

  20. 已经有付费 Document AI(如 Azure Form Recognizer、Google Document AI)且预算充足——商业服务在小语种、定制版面模板上可能更稳。

  21. 只需要纯文本抽取、不在乎表格和公式——PyPDFLoader 这种轻量方案够了。

  22. 海量文档批量离线处理(MinerU 是实时解析,没有原生批处理优化,自己包一层 scheduler 吧)。

  23. 严格的安全/合规场景(要走内部审计的话建议 fork 一份自部署,不直接用公共镜像)。

  24. 仓库:github.com/opendatalab/MinerU

  25. 官方文档:mineru.readthedocs.io

  26. 在线 Demo:mineru.net

  27. 论文:arXiv 上的「MinerU: An Open-Source High-Quality Data Extraction Tool」可搜到

  28. Discord / 微信群:README 里有二维码

输出结果示例大致是这样的:

# 论文标题

摘要


本文提出了一种新方法……

1. 引言


近年来……

2. 方法


2.1 模型架构


组件参数量FLOPs
Encoder100M10G
Decoder200M20G

而不只是 本文提出了一种新方法近年来... 这种糊成一坨的纯文本。

为什么值得装

跟同类工具横向比一下:

工具版面分析表格识别公式识别阅读顺序中文友好开源
PyPDFLoader一般
Tesseract一般
Marker一般一般
Unstructured一般一般一般
MinerU

几个具体场景里 MinerU 表现尤其突出:

1. 学术论文 RAG:直接解析 arXiv PDF,公式自动转 LaTeX,向量化检索时不会把 E=mc² 变成 E=mc
2. 财务报告 / 合同:复杂多列表格还原准确率很高,比人工复制粘贴靠谱得多。
3. 扫描版电子书:老旧的扫描版 PDF 经过 OCR + 版面分析后,能直接喂给 LLM 做问答。
4. 多语言文档:中英混排、日文财报、俄文合同都能处理。

对自托管玩家最关键的点是:单文件 Docker 镜像,CPU 也能跑(慢一点),有 GPU 跑得飞快。不需要装一堆 Python 依赖,也不需要下载 GB 级的模型权重——镜像里都打包好了。

快速上手(Docker 命令)

CPU 模式

docker run -it --rm -p 8000:8000 \
-v $(pwd)/output:/app/output \
opendatalab/mineru:latest \
mineru-api --host 0.0.0.0 --port 8000

启动后访问 http://localhost:8000,可以看到 Swagger UI。上传 PDF,返回 Markdown。

GPU 模式(推荐)

docker run -it --rm --gpus all -p 8000:8000 \
-v $(pwd)/output:/app/output \
opendatalab/mineru:latest \
mineru-api --host 0.0.0.0 --port 8000

需要 NVIDIA Container Toolkit。显存建议 ≥ 8GB,跑 vlm 后端建议 ≥ 16GB。

命令行单文件处理

不想跑服务也行,直接命令行处理单个文件:

docker run --rm -v $(pwd)/data:/app/data -v $(pwd)/output:/app/output \
opendatalab/mineru:latest \
mineru -p /app/data/paper.pdf -o /app/output -l en

-l 是语言代码(en / zh / auto 等),-b 是后端(pipeline / vlm),-m 是公式识别开关。

Python SDK

from mineru import MinerU

client = MinerU()
result = client.parse("paper.pdf", backend="pipeline", lang="auto")
print(result.to_markdown())

输出直接是字符串,可以无缝接 LangChain / LlamaIndex 的 Document loader。

性能参考

  1. 用 PyPDFLoader 抽论文,引用、图表、公式全混成一团文字。

  2. 用 Tesseract OCR 扫描件,表格变成一堆坐标错位的字符串。

  3. 双栏论文按行读取,第二栏的段落被错误拼接到第一栏末尾。

  4. 带复杂表头的财务报表,pandas.read_html 读进来全是 NaN。

  5. 多格式输入:PDF、PNG、JPG、JPEG、WEBP、GIF 都能直接解析。

  6. 结构化输出:Markdown(保留标题层级、列表、代码块)、JSON(带位置和层级元信息)、含 layout 的中间结果。

  7. 版面分析(Layout):自动识别标题、段落、表格、图片、公式、页眉页脚、参考文献。

  8. 表格识别(Table):把 PDF 里的表格还原成 Markdown 表格 / HTML,跨页表格也能合并。

  9. 公式识别(Formula):数学公式转 LaTeX,化学式也能处理。

  10. 阅读顺序(Reading Order):双栏、多栏、混排图文按人类阅读顺序输出,不会乱序。

  11. 多语言:中、英、日、韩、法、德、俄等几十种语言 OCR。

  12. 多种解析后端:pipeline(默认,CPU/GPU 都能跑)、vlm(基于 InternVL 的视觉语言模型版本,效果更好但需要更强 GPU)。

  13. 一篇 20 页的英文论文(pipeline 模式,CPU):约 60-90 秒。

  14. 同一篇(pipeline 模式,A100):约 5-10 秒。

  15. vlm 模式(InternVL):A100 上约 15-20 秒,效果显著更好。

  16. 正在做 RAG / Agent 的开发者,需要把 PDF 知识库结构化喂给 LLM。

  17. 研究人员,要批量处理 arXiv 论文、技术报告。

  18. 自托管玩家,想搭一套本地文档问答系统替代 NotebookLM。

  19. 数据团队,要把扫描件、财报、合同转成可分析的结构化数据。

  20. 已经有付费 Document AI(如 Azure Form Recognizer、Google Document AI)且预算充足——商业服务在小语种、定制版面模板上可能更稳。

  21. 只需要纯文本抽取、不在乎表格和公式——PyPDFLoader 这种轻量方案够了。

  22. 海量文档批量离线处理(MinerU 是实时解析,没有原生批处理优化,自己包一层 scheduler 吧)。

  23. 严格的安全/合规场景(要走内部审计的话建议 fork 一份自部署,不直接用公共镜像)。

  24. 仓库:github.com/opendatalab/MinerU

  25. 官方文档:mineru.readthedocs.io

  26. 在线 Demo:mineru.net

  27. 论文:arXiv 上的「MinerU: An Open-Source High-Quality Data Extraction Tool」可搜到

  28. Discord / 微信群:README 里有二维码

适合谁

强烈推荐

  1. 用 PyPDFLoader 抽论文,引用、图表、公式全混成一团文字。

  2. 用 Tesseract OCR 扫描件,表格变成一堆坐标错位的字符串。

  3. 双栏论文按行读取,第二栏的段落被错误拼接到第一栏末尾。

  4. 带复杂表头的财务报表,pandas.read_html 读进来全是 NaN。

  5. 多格式输入:PDF、PNG、JPG、JPEG、WEBP、GIF 都能直接解析。

  6. 结构化输出:Markdown(保留标题层级、列表、代码块)、JSON(带位置和层级元信息)、含 layout 的中间结果。

  7. 版面分析(Layout):自动识别标题、段落、表格、图片、公式、页眉页脚、参考文献。

  8. 表格识别(Table):把 PDF 里的表格还原成 Markdown 表格 / HTML,跨页表格也能合并。

  9. 公式识别(Formula):数学公式转 LaTeX,化学式也能处理。

  10. 阅读顺序(Reading Order):双栏、多栏、混排图文按人类阅读顺序输出,不会乱序。

  11. 多语言:中、英、日、韩、法、德、俄等几十种语言 OCR。

  12. 多种解析后端:pipeline(默认,CPU/GPU 都能跑)、vlm(基于 InternVL 的视觉语言模型版本,效果更好但需要更强 GPU)。

  13. 一篇 20 页的英文论文(pipeline 模式,CPU):约 60-90 秒。

  14. 同一篇(pipeline 模式,A100):约 5-10 秒。

  15. vlm 模式(InternVL):A100 上约 15-20 秒,效果显著更好。

  16. 正在做 RAG / Agent 的开发者,需要把 PDF 知识库结构化喂给 LLM。

  17. 研究人员,要批量处理 arXiv 论文、技术报告。

  18. 自托管玩家,想搭一套本地文档问答系统替代 NotebookLM。

  19. 数据团队,要把扫描件、财报、合同转成可分析的结构化数据。

  20. 已经有付费 Document AI(如 Azure Form Recognizer、Google Document AI)且预算充足——商业服务在小语种、定制版面模板上可能更稳。

  21. 只需要纯文本抽取、不在乎表格和公式——PyPDFLoader 这种轻量方案够了。

  22. 海量文档批量离线处理(MinerU 是实时解析,没有原生批处理优化,自己包一层 scheduler 吧)。

  23. 严格的安全/合规场景(要走内部审计的话建议 fork 一份自部署,不直接用公共镜像)。

  24. 仓库:github.com/opendatalab/MinerU

  25. 官方文档:mineru.readthedocs.io

  26. 在线 Demo:mineru.net

  27. 论文:arXiv 上的「MinerU: An Open-Source High-Quality Data Extraction Tool」可搜到

  28. Discord / 微信群:README 里有二维码

可以观望

  1. 用 PyPDFLoader 抽论文,引用、图表、公式全混成一团文字。

  2. 用 Tesseract OCR 扫描件,表格变成一堆坐标错位的字符串。

  3. 双栏论文按行读取,第二栏的段落被错误拼接到第一栏末尾。

  4. 带复杂表头的财务报表,pandas.read_html 读进来全是 NaN。

  5. 多格式输入:PDF、PNG、JPG、JPEG、WEBP、GIF 都能直接解析。

  6. 结构化输出:Markdown(保留标题层级、列表、代码块)、JSON(带位置和层级元信息)、含 layout 的中间结果。

  7. 版面分析(Layout):自动识别标题、段落、表格、图片、公式、页眉页脚、参考文献。

  8. 表格识别(Table):把 PDF 里的表格还原成 Markdown 表格 / HTML,跨页表格也能合并。

  9. 公式识别(Formula):数学公式转 LaTeX,化学式也能处理。

  10. 阅读顺序(Reading Order):双栏、多栏、混排图文按人类阅读顺序输出,不会乱序。

  11. 多语言:中、英、日、韩、法、德、俄等几十种语言 OCR。

  12. 多种解析后端:pipeline(默认,CPU/GPU 都能跑)、vlm(基于 InternVL 的视觉语言模型版本,效果更好但需要更强 GPU)。

  13. 一篇 20 页的英文论文(pipeline 模式,CPU):约 60-90 秒。

  14. 同一篇(pipeline 模式,A100):约 5-10 秒。

  15. vlm 模式(InternVL):A100 上约 15-20 秒,效果显著更好。

  16. 正在做 RAG / Agent 的开发者,需要把 PDF 知识库结构化喂给 LLM。

  17. 研究人员,要批量处理 arXiv 论文、技术报告。

  18. 自托管玩家,想搭一套本地文档问答系统替代 NotebookLM。

  19. 数据团队,要把扫描件、财报、合同转成可分析的结构化数据。

  20. 已经有付费 Document AI(如 Azure Form Recognizer、Google Document AI)且预算充足——商业服务在小语种、定制版面模板上可能更稳。

  21. 只需要纯文本抽取、不在乎表格和公式——PyPDFLoader 这种轻量方案够了。

  22. 海量文档批量离线处理(MinerU 是实时解析,没有原生批处理优化,自己包一层 scheduler 吧)。

  23. 严格的安全/合规场景(要走内部审计的话建议 fork 一份自部署,不直接用公共镜像)。

  24. 仓库:github.com/opendatalab/MinerU

  25. 官方文档:mineru.readthedocs.io

  26. 在线 Demo:mineru.net

  27. 论文:arXiv 上的「MinerU: An Open-Source High-Quality Data Extraction Tool」可搜到

  28. Discord / 微信群:README 里有二维码

不太适合

  1. 用 PyPDFLoader 抽论文,引用、图表、公式全混成一团文字。

  2. 用 Tesseract OCR 扫描件,表格变成一堆坐标错位的字符串。

  3. 双栏论文按行读取,第二栏的段落被错误拼接到第一栏末尾。

  4. 带复杂表头的财务报表,pandas.read_html 读进来全是 NaN。

  5. 多格式输入:PDF、PNG、JPG、JPEG、WEBP、GIF 都能直接解析。

  6. 结构化输出:Markdown(保留标题层级、列表、代码块)、JSON(带位置和层级元信息)、含 layout 的中间结果。

  7. 版面分析(Layout):自动识别标题、段落、表格、图片、公式、页眉页脚、参考文献。

  8. 表格识别(Table):把 PDF 里的表格还原成 Markdown 表格 / HTML,跨页表格也能合并。

  9. 公式识别(Formula):数学公式转 LaTeX,化学式也能处理。

  10. 阅读顺序(Reading Order):双栏、多栏、混排图文按人类阅读顺序输出,不会乱序。

  11. 多语言:中、英、日、韩、法、德、俄等几十种语言 OCR。

  12. 多种解析后端:pipeline(默认,CPU/GPU 都能跑)、vlm(基于 InternVL 的视觉语言模型版本,效果更好但需要更强 GPU)。

  13. 一篇 20 页的英文论文(pipeline 模式,CPU):约 60-90 秒。

  14. 同一篇(pipeline 模式,A100):约 5-10 秒。

  15. vlm 模式(InternVL):A100 上约 15-20 秒,效果显著更好。

  16. 正在做 RAG / Agent 的开发者,需要把 PDF 知识库结构化喂给 LLM。

  17. 研究人员,要批量处理 arXiv 论文、技术报告。

  18. 自托管玩家,想搭一套本地文档问答系统替代 NotebookLM。

  19. 数据团队,要把扫描件、财报、合同转成可分析的结构化数据。

  20. 已经有付费 Document AI(如 Azure Form Recognizer、Google Document AI)且预算充足——商业服务在小语种、定制版面模板上可能更稳。

  21. 只需要纯文本抽取、不在乎表格和公式——PyPDFLoader 这种轻量方案够了。

  22. 海量文档批量离线处理(MinerU 是实时解析,没有原生批处理优化,自己包一层 scheduler 吧)。

  23. 严格的安全/合规场景(要走内部审计的话建议 fork 一份自部署,不直接用公共镜像)。

  24. 仓库:github.com/opendatalab/MinerU

  25. 官方文档:mineru.readthedocs.io

  26. 在线 Demo:mineru.net

  27. 论文:arXiv 上的「MinerU: An Open-Source High-Quality Data Extraction Tool」可搜到

  28. Discord / 微信群:README 里有二维码

一些使用建议

1. 语言参数要选对。中英混排用 auto,纯中文用 ch,纯英文用 en,混排错了中文部分识别率会下降。
2. 大文件先压缩。几百页的 PDF 不如拆成几份再处理,pipeline 模式对显存友好但对长文档不太友好。
3. 公式密集型文档用 vlm 后端。pipeline 的公式识别是传统 OCR,公式复杂的数学论文建议直接 vlm,效果提升明显。
4. 输出 JSON 而不是 Markdown 时保留 layout 信息,能在后续做版面级的检索。
5. GPU 显存不够时可以加 --device cpu 强制走 CPU,或者用 vllm 后端量化模型。

链接

  1. 用 PyPDFLoader 抽论文,引用、图表、公式全混成一团文字。

  2. 用 Tesseract OCR 扫描件,表格变成一堆坐标错位的字符串。

  3. 双栏论文按行读取,第二栏的段落被错误拼接到第一栏末尾。

  4. 带复杂表头的财务报表,pandas.read_html 读进来全是 NaN。

  5. 多格式输入:PDF、PNG、JPG、JPEG、WEBP、GIF 都能直接解析。

  6. 结构化输出:Markdown(保留标题层级、列表、代码块)、JSON(带位置和层级元信息)、含 layout 的中间结果。

  7. 版面分析(Layout):自动识别标题、段落、表格、图片、公式、页眉页脚、参考文献。

  8. 表格识别(Table):把 PDF 里的表格还原成 Markdown 表格 / HTML,跨页表格也能合并。

  9. 公式识别(Formula):数学公式转 LaTeX,化学式也能处理。

  10. 阅读顺序(Reading Order):双栏、多栏、混排图文按人类阅读顺序输出,不会乱序。

  11. 多语言:中、英、日、韩、法、德、俄等几十种语言 OCR。

  12. 多种解析后端:pipeline(默认,CPU/GPU 都能跑)、vlm(基于 InternVL 的视觉语言模型版本,效果更好但需要更强 GPU)。

  13. 一篇 20 页的英文论文(pipeline 模式,CPU):约 60-90 秒。

  14. 同一篇(pipeline 模式,A100):约 5-10 秒。

  15. vlm 模式(InternVL):A100 上约 15-20 秒,效果显著更好。

  16. 正在做 RAG / Agent 的开发者,需要把 PDF 知识库结构化喂给 LLM。

  17. 研究人员,要批量处理 arXiv 论文、技术报告。

  18. 自托管玩家,想搭一套本地文档问答系统替代 NotebookLM。

  19. 数据团队,要把扫描件、财报、合同转成可分析的结构化数据。

  20. 已经有付费 Document AI(如 Azure Form Recognizer、Google Document AI)且预算充足——商业服务在小语种、定制版面模板上可能更稳。

  21. 只需要纯文本抽取、不在乎表格和公式——PyPDFLoader 这种轻量方案够了。

  22. 海量文档批量离线处理(MinerU 是实时解析,没有原生批处理优化,自己包一层 scheduler 吧)。

  23. 严格的安全/合规场景(要走内部审计的话建议 fork 一份自部署,不直接用公共镜像)。

  24. 仓库:github.com/opendatalab/MinerU

  25. 官方文档:mineru.readthedocs.io

  26. 在线 Demo:mineru.net

  27. 论文:arXiv 上的「MinerU: An Open-Source High-Quality Data Extraction Tool」可搜到

  28. Discord / 微信群:README 里有二维码

小结

如果只能保留一个文档解析工具在自托管清单里,MinerU 是目前综合能力最强的一个:开源、中文友好、结构化输出干净、Docker 一键跑、CPU/GPU 都能用。对于做 RAG 和 Agent 的人来说,几乎是必装项。

今天 trending 涨了 700+ star 不是偶然——文档结构化这条赛道随着 LLM 应用爆发正在变得刚需,而开源方案里能打的,确实不多。


该用户已被删除。

不具版权性
不具时效性

文章内容不具时效性。若文章内容有错误之处,请您批评指正。

目录

欢迎来到摸鱼干货栈,这里为您提供开源与摸鱼源码

81 文章数
5 分类数
0 评论数
5标签数
最近评论