RAG-Anything 文档解析器怎么选:MinerU、Docling 与 PaddleOCR 的适用场景与安装要求
2026/9/13 19:36:40 网站建设 项目流程

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 给出的适用场景支持的文件格式(来自源码)额外安装要求
MinerUPDF、图片、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 转 PDFraganything[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 docling

PaddleOCR。先装 extra(PyPI 方式或源码方式二选一):

pip install 'raganything[paddleocr]' # 或源码安装 pip install -e ".[paddleocr]" # 或 uv uv sync --extra paddleocr

该 extra 在 setup.py 中定义为paddleocr>=2.7.0pypdfium2>=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()返回FalseRAGAnything初始化时会记录 “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 mineru

MinerU 还有三个不需要 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 缺依赖:缺paddleocrpypdfium2时分别报 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),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询