
MinerU 离线部署一条命令装好环境断网环境也能解析 PDF 和 Office 文档【免费下载链接】MinerUTransforms complex documents like PDFs and Office docs into LLM-ready markdown/JSON for your Agentic workflows.项目地址: https://gitcode.com/GitHub_Trending/mi/MinerU银行合规部门的隔离机房里一台不能上网的服务器每月要处理一批 PDF 年报。MinerU 是一个开源文档解析工具能把 PDF、DOCX、PPTX、XLSX 和图片转成 Markdown 或 JSON供大模型和 RAG 系统使用。这篇文章讲清 MinerU 离线部署怎么落地在联网机器上准备好依赖和模型搬到断网机器直接解析。先跑起来装好 MinerU 并解析第一个 PDF我们先用最短路径把 MinerU 跑通建立基本印象。它要求 Python 3.10 及以上版本支持 Linux、Windows 和 macOS。装环境只需要一条命令mineru[all]包含全部核心功能uv pip install -U mineru[all]装完后MinerU 仓库自带示例文档直接拿它试解析-p是输入路径-o是输出目录mineru -p demo/pdfs/demo1.pdf -o ./output执行完这条命令就能看到结果。注意两点首次运行会自动下载所需模型文件之后直接加载本地缓存不重复下载。不传--api-url时CLI 会自动拉起一个本地临时mineru-api服务来完成任务用完即走不用你额外部署。跑完之后去输出目录看一眼每个输入文件会生成一个同名.md这就是解析结果。打开它正文、表格、公式都已经排好阅读顺序页眉页脚这些噪音也被去掉了。到这里你已经走完了离线部署里最核心的链路装环境 → 解析文档 → 看结果。剩下的工作就是让它在断网机器上重复这个过程。模型从哪来一条命令切换模型源MinerU 的模型默认从 HuggingFace 下载。如果你的网络环境访问不了它一条环境变量就能切到国内可用的 ModelScope 镜像export MINERU_MODEL_SOURCEmodelscope这个变量对当前终端会话生效对mineru命令行和 API 调用都管用。三个可选值huggingface国外网络环境首选速度快、稳定性高modelscope国内网络环境首选local完全离线用你提前准备好的本地模型下一节展开不设这个变量时MinerU 默认走auto策略先探测 HuggingFace 是否可达可达就用它不可达自动回退到 ModelScope并把探测结果写回配置文件避免每次启动反复切换。所以联网阶段你只要保证能连上其中任意一个源就行。完全断网怎么用本地模型配置这是离线部署的关键一步思路是联网机下载好断网机直接用。第一步在联网机器上把模型一次性拉全。MinerU 自带交互式下载工具-s选模型源-m all表示 pipeline 和 vlm 两套模型都要mineru-models-download -s modelscope -m all下载完成后模型的实际路径会打印在终端里同时自动写入用户目录Windows 上是C:\Users\你的用户名Linux/macOS 上是~下的mineru.json配置文件记录models-dir模型目录和model-source模型来源。第二步搬到断网机器。需要带过去的只有两样东西模型目录整个文件夹用户目录下的mineru.json把两者放到断网机的对应位置后设一个环境变量指向本地模型export MINERU_MODEL_SOURCElocal之后照常跑mineru -p 输入 -o 输出模型从本地加载全程零网络请求。两个实践建议模型文件夹可以放在任意磁盘位置挪动后记得同步更新mineru.json里的路径。多版本模型建议分目录存放比如models/stable/v2.5/、models/testing/用一份对应的mineru.json切换出问题可以秒回滚。按你的硬件选后端pipeline 适合纯 CPU 服务器MinerU 有三种解析后端选择逻辑不复杂主要看硬件pipeline小模型流水线兼容性好纯 CPU 就能跑GPU 最低 4GB 显存。断网机房里那台老服务器如果没显卡选它就对了。hybrid-engine默认精度最高的后端GPU 需要 8GB 显存内存建议 32GB 以上。vlm-engine大视觉模型方案显存要求与 hybrid 相当适合追求极限解析效果的环境。纯 CPU 机器上加一个-b pipeline参数即可mineru -p 输入 -o 输出 -b pipeline参考官方 OmniDocBench v1.6 评测pipeline 端到端得分 86.47hybrid 在 high 档为 95.39。简单说日常文档 pipeline 够用精度优先就上 hybrid。另外注意 Windows 平台因依赖限制只支持到 Python 3.12。看懂输出文件md 给人看JSON 给程序用跑完任务后输出目录里除了主 Markdown 文件还有一组辅助文件各有各的用途*.md按阅读顺序排好的正文直接给下游 RAG 或人工核对用content_list.json简化版内容列表按阅读顺序平铺文本、表格、公式、图片块适合程序化消费middle.json完整的结构化中间结果含块、行、片段三级层次和坐标做二次开发用images/从文档里切出来的图片*_layout.pdf每页画出检测框和阅读顺序编号的可视化文件不同颜色区分内容类型*_span.pdfpipeline 后端额外生成用不同颜色线框标注文本片段断网环境下解析结果没法随时重跑验证时layout.pdf特别有用打开它哪一页的阅读顺序乱了、哪个表格框歪了一眼就能看出来不用等拿到联网机器上才发现问题。两个进阶玩法多卡吞吐与参数微调跑通基础流程之后有两件事值得知道。1. 多 GPU 用 mineru-router 做统一入口。当断网机房里有多张卡或多台解析服务时mineru-router可以把它们聚合成一个入口任务自动负载均衡接口与mineru-api完全兼容mineru-router --host 0.0.0.0 --port 8002 --local-gpus auto调用方只需要对接这一个地址扩容时加机器不用改代码。2. 用 mineru.json 微调行为。用户目录下的mineru.json除了记录模型路径还支持一些配置项比如latex-delimiter-config可以改 LaTeX 公式的分隔符默认是$llm-aided-config可以接入任意兼容 OpenAI 协议的模型来辅助标题分级。对离线环境来说改配置文件的成本远低于改代码适合做长期微调。避坑问答问断网机器第一次跑就报模型相关错误为什么答因为模型是首次使用时才自动下载的。务必在联网机器上先用mineru-models-download -m all把模型拉全连同mineru.json一起搬过去再设MINERU_MODEL_SOURCElocal。问设了MINERU_MODEL_SOURCElocal还是去联网找模型答先检查mineru.json的models-dir路径是否和实际模型目录一致模型文件夹挪过位置就要改。另外记住环境变量只对当前终端会话生效开新终端要重新 export。问纯 CPU 服务器解析一个 100 页的 PDF 要等很久正常吗答正常CPU 推理本身就慢。先确认没漏加-b pipeline如果文档页数上万注意内存要求最低 16GB推荐 32GB 以上长文档内存吃紧时考虑分批处理。问解析到一半报内存不足怎么办答优先确认后端选对了——有 8GB 以上显存却跑在 CPU 上会又慢又费内存。内存本身不够时把大任务拆成多次调用或降低并发。问Windows 上装好了但没有走 CUDA 加速答Windows 需要自行安装支持 CUDA 的torch和torchvisionPyTorch 官网选对应版本即可Linux 和 macOS 则会默认自动尝试加速。另外 Windows 上 Python 最高只支持到 3.12。写在最后离线部署 MinerU 的核心就三件事装环境、搬模型、切local源剩下的和联网环境完全一样。下一步建议先拿你手头最难解析的那份真实文档在隔离环境里实测一遍用layout.pdf核对效果有问题到官方文档或社区提问附上样例文件社区会持续优化。【免费下载链接】MinerUTransforms complex documents like PDFs and Office docs into LLM-ready markdown/JSON for your Agentic workflows.项目地址: https://gitcode.com/GitHub_Trending/mi/MinerU创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考