ENGINEERING NOTES
技术专栏目录
01 MinerU如何整理文档进RAG流程
NO.01
MinerU如何整理文档进RAG流程
2026-06-30
TECH NOTE
先给结论:MinerU 适合放在 RAG 的入口层
MinerU 是 opendatalab/MinerU 仓库里的文档解析工具,目标是把 PDF、图片、DOCX、PPTX、XLSX 转成 Markdown 和 JSON。
它解决的不是问答模型能力,而是文档进入模型前的结构损耗:标题、段落、表格、页码和图片说明如果先乱了,后面的 RAG 很难救回来。
最小试用条件是 Python 3.10 到 3.13、少量脱敏样本文档、可单独保存 Markdown/JSON 的输出目录,以及一次人工抽查。
今天先不要全量导入知识库,先跑 5 到 20 份代表性样本,看结构保真、来源追溯和人工修正成本。
TECH NOTE
前置条件:先把环境、样本和输出目录收住
TECH NOTE
上手路径:先跑通一个最小闭环
创建隔离环境并确认 Python 版本。动作是准备 Python 3.10 到 3.13 的环境,对象是 MinerU 的核心依赖;检查点是 `python --version` 在支持范围内,样本文档已经放到单独目录。
获取仓库并进入项目目录。动作是 clone opendatalab/MinerU,对象是 README、pyproject.toml 和脚本入口;检查点是能看到 `mineru`、`mineru-models-download`、`mineru-gradio`、`mineru-api` 等入口信息。
安装核心依赖。动作是安装 `mineru[core]`,对象是最小解析能力;检查点是安装过程没有 Python 版本冲突,也没有缺少基础依赖。
下载模型资源。动作是执行 `mineru-models-download`,对象是解析所需模型;检查点是下载结束后没有网络、磁盘、代理或权限错误。
先启动人工试用入口。动作是执行 `mineru-gradio`,对象是本地 Gradio 界面;输入是一份代表性 PDF 或 Office 文件;检查点是能产生 Markdown/JSON 输出,并能肉眼对照原文。
再启动服务化入口。动作是执行 `mineru-api`,对象是后续批处理或 RAG 导入脚本;检查点是服务能在本机启动,不要第一天就暴露公网。
最后做三份对照。动作是保留原始文件、Markdown 和 JSON;检查点是标题层级、段落顺序、表格、图片说明和来源路径能互相对得上。
BASH
git clone https://github.com/opendatalab/MinerU.git cd MinerU python -m venv .venv source .venv/bin/activate python -m pip install "mineru[core]" mineru-models-download mineru-gradio mineru-api mineru --helpTECH NOTE
命令与配置:把脚本入口和依赖选择写清楚
ENV
PROJECT_NAME=mineru REQUIRES_PYTHON=">=3.10,<3.14" OPTIONAL_DEP_CORE="mineru[core]" OPTIONAL_DEP_VLM="mineru[vlm]" OPTIONAL_DEP_VLLM="mineru[vllm]" OPTIONAL_DEP_LMDEPLOY="mineru[lmdeploy]" OPTIONAL_DEP_MLX="mineru[mlx]" SCRIPT_CLI=mineru SCRIPT_MODELS=mineru-models-download SCRIPT_GRADIO=mineru-gradio SCRIPT_API=mineru-api INPUT_DIR=./samples OUTPUT_DIR=./runs/mineruTECH NOTE
工作流拆解:Markdown 给人看,JSON 给程序用
TECH NOTE
输出检查:别只看是否生成了文件
验收先看结构保真。至少检查标题层级、段落顺序、表格可读性、图片说明、页码或来源路径,不能只看输出字符数。
再看后续可用性。Markdown 是否适合人工阅读,JSON 是否能稳定进入 chunk 脚本,字段是否每次都存在。
权限边界要提前收紧。试用时只放脱敏样本,Gradio 和 API 都先限制在本机或受控网络,输出目录按内部资料管理。
失败条件要记录清楚。如果 20 份代表性样本里频繁出现表格错位、标题丢失、扫描页无法识别、中文段落顺序混乱,就不要进入全量导入。
性能也要留日志。记录单文件耗时、模型下载耗时、磁盘占用、失败文件类型和人工修正时间。
TECH NOTE
是否值得放进日常
DECISION
今天可以试的是正在做 RAG、文档问答、批量摘要或 Agent 文档读取流程的开发者;应该先观望的是只处理干净 Markdown/网页文本、没有脱敏样本、或没有人力检查 Markdown/JSON 输出质量的团队;试用时看 3 个指标:结构保真度是否足够进入 chunk,来源追溯是否能回到原文件,失败样本的人工修正成本是否低于原有导入方式。
夜雨聆风