RAG-Anything 文档解析器怎么选:MinerU、Docling 与 PaddleOCR 的适用场景与安装要求
【免费下载链接】RAG-Anything"RAG-Anything: All-in-One RAG Framework"项目地址: https://gitcode.com/GitHub_Trending/ra/RAG-Anything
RAG-Anything 在解析文档时,默认调用的是哪个解析器、需要装哪些依赖,是首次使用时最容易卡住的环节。它内置 MinerU、Docling、PaddleOCR 三个解析器,三者支持的输入格式和依赖安装方式并不相同:MinerU 随基础安装一起提供,Docling 和 PaddleOCR 需要额外安装依赖。本文按“按文件类型选解析器 → 安装对应依赖 → 配置并验证”的顺序,给出每个环节的真实命令和判断方式。
按文件格式选解析器
README 的 “Parser Configuration” 一节对三个解析器的定位描述如下:
| 解析器 | README 给出的适用场景 | 支持的文件格式(来自源码) | 额外安装要求 |
|---|---|---|---|
| MinerU | PDF、图片、Office 文档等;OCR 与表格提取能力强,支持 GPU 加速 | PDF;图片(原生.png/.jpeg/.jpg,其余格式经 Pillow 转 PNG);Office(先转 PDF);文本(先转 PDF) | 基础安装已含mineru[core] |
| Docling | 针对 Office 文档和 HTML 文件优化,文档结构保留更好,原生支持多种 Office 格式 | PDF、Office 六种格式、HTML(.html/.htm/.xhtml);传入图片、文本等其他格式会抛出 “Unsupported file format” | pip install docling |
| PaddleOCR | 面向图片和 PDF 的 OCR 解析器,产出与现有content_list流程兼容的文本块;Office/TXT/MD 可选支持(先转 PDF) | PDF(逐页渲染后 OCR)、图片;Office 需 LibreOffice 先转 PDF;TXT/MD 需 ReportLab 转 PDF | raganything[paddleocr]额外依赖 + 平台对应的paddlepaddle |
选型时直接按输入文件类型对号即可:以扫描件、纯图片为主选 MinerU 或 PaddleOCR;以 Office 和 HTML 为主且在意结构保留时选 Docling;需要 OCR 聚焦的扫描件 PDF 并复用content_list文本块时用 PaddleOCR。注意 PaddleOCR 解析 PDF 时会把每页渲染成图像再 OCR,输出是{"type": "text", ...}文本块,这一点与 MinerU/Docling 的结构化输出不同(见 raganything/parser.py)。
安装 RAG-Anything 与解析器依赖
从 PyPI 安装基础包(requirements.txt中基础依赖已包含mineru[core],即 MinerU 解析器开箱可用):
pip install raganything如需扩展格式支持,README 列出的可选 extra:
pip install 'raganything[image]' # BMP、TIFF、GIF、WebP 图像格式转换(依赖 Pillow) pip install 'raganything[text]' # TXT、MD 处理(依赖 ReportLab) pip install 'raganything[all]' # 全部可选 Python 依赖从源码安装时用uv sync加对应 extra,例如uv sync --extra paddleocr。
各解析器的依赖安装要求:
MinerU。基础安装已含;若单独补装,源码中给出的命令是pip install -U 'mineru[core]'或uv pip install -U 'mineru[core]'。
Docling:
pip install doclingPaddleOCR。先装 extra(PyPI 方式或源码方式二选一):
pip install 'raganything[paddleocr]' # 或源码安装 pip install -e ".[paddleocr]" # 或 uv uv sync --extra paddleocr该 extra 在 setup.py 中定义为paddleocr>=2.7.0和pypdfium2>=4.25.0。README 同时强调:PaddleOCR 还需要paddlepaddle,CPU/GPU 包因平台而异,按 PaddlePaddle 官方安装指南(paddlepaddle.org.cn)选择对应平台的包安装。
处理 Office 文档的公共前提:MinerU 2.0 不再内置 Office 文档转换,Office 文件(.doc、.docx、.ppt、.pptx、.xls、.xlsx)依赖 LibreOffice 先转成 PDF。各平台安装方式(README 原文):
- Windows:从 LibreOffice 官网下载安装
- macOS:
brew install --cask libreoffice - Ubuntu/Debian:
sudo apt-get install libreoffice(需要 sudo 权限) - CentOS/RHEL:
sudo yum install libreoffice
配置解析器
解析器通过parser参数选择,取值"mineru"、"docling"或"paddleocr",有三种配置入口:
配置RAGAnythingConfig或调用解析方法时传参:
await rag.process_document_complete( file_path="document.pdf", output_dir="./output/", parse_method="auto", # 解析方法:"auto"、"ocr"、"txt" parser="mineru", # 可选:"mineru"、"docling"、"paddleocr" )用环境变量 env.example 中的PARSER(默认mineru):
PARSER=mineru # 可选值:mineru、docling、paddleocr PARSE_METHOD=auto运行示例脚本时用--parser参数(examples/raganything_example.py 中该参数默认取环境变量PARSER,未设置时为mineru):
python examples/raganything_example.py path/to/document.pdf --api-key YOUR_API_KEY --parser mineru其中path/to/document.pdf换成你的文档路径,YOUR_API_KEY换成你的 LLM API key。
验证解析器安装
RAG-Anything 在处理文档前会调用check_installation()做预检,三个解析器的检查口径不同(见 raganything/parser.py):
- MinerU:探测
mineruCLI 可执行 - Docling:探测
docling.document_converter.DocumentConverter可导入(不再探测 CLI 是否在 PATH 上) - PaddleOCR:探测
paddleocr包可导入
验证命令(README 原文):
# 验证 MinerU mineru --version # 检查当前配置的解析器是否装好 python -c "from raganything import RAGAnything; rag = RAGAnything(); print('✅ MinerU installed properly' if rag.check_parser_installation() else '❌ MinerU installation issue')"若解析器未安装,check_installation()返回False,RAGAnything初始化时会记录 “Parser '...' is not properly installed. Please install it using 'pip install' or 'uv pip install'.” 并返回失败,此时回到上一步补齐对应依赖。
解析一份真实文档确认输出
安装验证通过后,用一份真实文档跑一次解析确认链路完整。示例脚本:
python examples/raganything_example.py path/to/document.pdf --api-key YOUR_API_KEY --parser mineruMinerU 还有三个不需要 API key 的测试脚本,只测解析功能:examples/office_document_test.py(Office 文档)、examples/image_format_test.py(图像格式)、examples/text_format_test.py(文本格式),均基于 MinerU。
各解析器的产物位置(用于核对是否成功):
- MinerU:在输出目录下生成
{文件名}.md和{文件名}_content_list.json(通常在{文件名}/auto等子目录内);首次使用时模型自动下载 - Docling:JSON 与 Markdown 写入
<output_dir>/<file_stem>/docling/ - PaddleOCR:返回由
{"type": "text", "text": ..., "page_idx": ...}组成的内容块列表
已知限制与常见报错
MinerU 2.0 相关:Office 文档必须先转 PDF(依赖 LibreOffice);不再使用
magic-pdf.json配置文件,全部设置改为命令行参数或函数参数。常用命令行配置(README 原文):mineru --help mineru -p input.pdf -o output_dir -m auto # 自动解析模式 mineru -p input.pdf -o output_dir -m ocr # OCR 重点解析 mineru -p input.pdf -o output_dir -b pipeline --device cuda # GPU 加速MinerU 卡住超时的提示:源码中超时错误信息为 “MinerU did not finish within {timeout}s. This often means a model download is stuck due to network issues.”,即大概率是首次模型下载被网络卡住,应检查网络或预先下载所需模型。
Docling 不支持图片与文本文件:
parse_document对 PDF/Office/HTML 之外的扩展名直接抛出 “Unsupported file format”,不要用 Docling 解析扫描件图片。PaddleOCR 缺依赖:缺
paddleocr或pypdfium2时分别报 ImportError,按上文 extra 方式安装;paddlepaddle未装或平台不匹配时初始化会失败。模型下载:MinerU 的模型首次使用时自动下载,需要手动下载时参考 MinerU 官方文档的 “Model Source Configuration” 一节。
【免费下载链接】RAG-Anything"RAG-Anything: All-in-One RAG Framework"项目地址: https://gitcode.com/GitHub_Trending/ra/RAG-Anything
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考