![[Bug]: MinerU parser reparses the entire PDF for every page-splitting task, causing duplicate computation and poor performance](https://www.chat-gpts.plus/wp-content/uploads/2026/07/16971-71c00ea7.jpg)
[Bug]: MinerU parser reparses the entire PDF for every page-splitting task, causing duplicate computation and poor performance
快速结论:该 Bug 出现在 RAGFlow 使用 MinerU 解析器处理大型 PDF 时,每个页范围任务都会重复解析整个 PDF。优先排查 deepdoc/parser/mineru_parser.py 文件中 _run_mineru_api 函数是否硬编码了 start_page_id: 0 和 end_page_id: 99999。
问题场景
用户在 RAGFlow (commit cb93883, v0.26.4, Ubuntu 22.04) 中配置 MinerU 解析器,上传一个数百页的大 PDF 文件,启动文档解析任务时触发。
报错原文
Page(1~13): [MinerU] Received binary PDF -> /tmp/mineru_bin_pdf_7_8g3ixe/量子信息技术发展与应用研究报告(2020年).pdf
Page(1~13): [MinerU] Parsed 442 blocks from PDF.
Page(13~25): [MinerU] Received binary PDF -> /tmp/mineru_bin_pdf_ex5qic55/量子信息技术发展与应用研究报告(2020年).pdf
Page(13~25): [MinerU] Parsed 442 blocks from PDF.
日志显示每个页范围任务都解析到相同数量的 block(442 blocks)和 image 数(27 images),说明整个 PDF 被重复解析。
原因分析
根因已确认:_run_mineru_api 函数在 deepdoc/parser/mineru_parser.py 中硬编码了 start_page_id: 0 和 end_page_id: 99999,无论任务分配的页范围如何,都会解析整个 PDF。这是从 Issue #16586 复现的已知问题。
环境排查
- RAGFlow workspace code commit ID: cb93883
- RAGFlow image version: cb93883 (v0.26.4)
- 操作系统: ubuntu22.04
- MinerU 解析器版本(需检查是否使用 API 模式,日志显示调用 http://127.0.0.1:8000/file_parse)
解决步骤
- 确认
deepdoc/parser/mineru_parser.py文件(约第 275-301 行)中_run_mineru_api函数是否硬编码了start_page_id: 0和end_page_id: 99999。 - 检查三个待合并的修复 PR:
- 可优先尝试手动合并 PR #16600 的改动:修改
_run_mineru_api函数,将传递的from_page和to_page参数正确赋值给start_page_id和end_page_id。 - 若使用 Docker,重新构建镜像或直接修改代码后重启服务。
验证方法
重复触发同一个大 PDF 的解析任务,检查日志确认每个页范围任务(如 Page(1~13)、Page(13~25))是否只解析对应范围内的页面。例如:
- 期望:Page(1~13) 解析约 13 页内容,Page(13~25) 解析约 12 页内容
- 修复前:两个任务都解析相同的 500 页(442 blocks)



