尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

MinerU 离线部署完整指南:断网环境零网络依赖跑通 PDF 解析

MinerU 离线部署完整指南:断网环境零网络依赖跑通 PDF 解析 MinerU 离线部署完整指南断网环境零网络依赖跑通 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这两年给几家单位部署 MinerU 时遇到的情况几乎一样服务器在内网装依赖、拉模型这些需要外网的步骤一步都做不了但业务要求把 PDF、扫描件、Office 文档稳定转成结构化 Markdown 和 JSON供下游大模型消费。MinerU 离线部署要解决的就是这件事——把所有要联网才能完成的动作提前搬到一台有网的机器上做再整体搬进断网环境。思路其实很简单联网机器负责准备离线机器只负责安装和运行。准备工作只有三样源码、模型文件、Python 依赖缓存。下面先讲这三样怎么备齐然后给三条实施路径你按自己的场景挑一条走就行。联网环境一次性备齐三样物料第一样源码。从代码托管平台克隆仓库即可离线机器上同样需要这份源码git clone https://gitcode.com/GitHub_Trending/mi/MinerU cd MinerU第二样模型文件。MinerU 的 pipeline 后端要加载版面检测、公式识别、OCR、表格识别等多组模型VLM 后端还有更大的多模态模型。用项目自带的下载命令一次性拉全mineru-models-download -s modelscope -m all跑完之后命令会自动把下载目录写进~/.mineru.json记下这个路径后面离线配置会用到。只部署 pipeline 后端的话可以把-m all换成-m pipeline省一半磁盘。第三样依赖缓存。用pip download把 wheel 包按平台拉到一个目录里。注意 pyproject.toml 里core这个 extras 已经包含了 vlm、pipeline、gradio 三组依赖装它就够了pip download mineru[core] -d ./offline_wheels为什么必须同平台下载wheel 里的 torch、opencv 这些包带编译产物x86_64 和 ARM 的包不能混用。联网机器和离线机器的 CPU 架构、Python 版本要一致Python 要求 3.10 到 3.13 之间。路径一裸机直装断网环境怎么装依赖适合只部署一两台服务器、不想引入 Docker 的场景。把源码目录、模型目录、offline_wheels三样一起拷进离线机器然后python -m venv .venv source .venv/bin/activate pip install --no-index --find-links./offline_wheels -e .[core] export MINERU_MODEL_SOURCElocal--no-index是离线安装的关键它让 pip 完全不去访问 PyPI只认--find-links指本地目录避免安装中途卡在网络请求上。MINERU_MODEL_SOURCElocal则告诉 MinerU别探测 HuggingFace 或 ModelScope直接用本地模型。建议把这行写进~/.bashrc否则换个终端就失效。装完跑一条最简单的解析验证输入demo/pdfs/demo1.pdf能输出 markdown 文件就算通了。路径二Docker 容器化离线 Docker 镜像怎么打推荐大多数团队走这条路理由是把系统依赖中文字体、libgl和 Python 环境全锁死在镜像里离线机器上连 Python 都不用装。项目里docker/china/目录下的 Dockerfile 已经做好了几件事基于带 CUDA 的基础镜像、装fonts-noto-cjk等中文字体、pip install mineru[core]、并执行模型下载。离线打法是联网构建、断网加载在联网的 Docker 主机上构建一次把镜像存成 tar 包再传进内网docker build -f docker/china/Dockerfile -t mineru-offline:3.4.0 . docker save mineru-offline:3.4.0 -o mineru-offline.tar到离线机器上docker load -i mineru-offline.tar docker run --rm -e MINERU_MODEL_SOURCElocal \ -v /data/in:/in -v /data/out:/out \ mineru-offline:3.4.0 mineru -p /in/demo.pdf -o /out因为构建阶段模型已经打进镜像容器里不需要再挂模型目录这是容器化比裸机直装省事的地方。路径三一次构建多台分发需要往几十台离线机器批量铺的时候在路径二基础上加一步版本管理给镜像 tag 带上 MinerU 版本号如mineru-offline:3.4.0tar 包和源码打包成一个发布产物放到内网的文件服务器或介质上传输。每台机器只做两件事docker load加运行容器。另外项目的docker/compose.yaml里每个服务都预设了MINERU_MODEL_SOURCE: local如果你的离线环境要长期跑 API 服务可以直接把 compose 文件拷过去按mineru-api这个 profile 起容器即可。关键配置详解模型本地化与 model-source 切换所有模型相关的配置集中在一个文件~/.mineru.json可用环境变量MINERU_TOOLS_CONFIG_JSON改位置。离线部署时它长这样{ config_version: 1.3.2, models-dir: { pipeline: /data/models/pipeline, vlm: /data/models/vlm }, model-source: local }逐项说明为什么这么写models-dir两个键分别指向 pipeline 和 VLM 模型的根目录填联网机器上实际下载落地的绝对路径。模型找不到时 MinerU 不会报路径错误而是去尝试远程源所以这里填错最隐蔽。model-source取值local、huggingface、modelscope或auto。离线环境必须是local。auto会去探测网络选远程源断网时这一步会白白等超时。环境变量优先MINERU_MODEL_SOURCE环境变量会覆盖配置文件Docker 场景下用环境变量更直观裸机场景写配置文件更持久二选一都行。常用调优项不多记住两个就够VLM 后端显存最低 8GB不够就改用 pipeline 后端最低 4GB且支持纯 CPU显存紧张时给服务容器加--gpu-memory-utilization 0.5这类参数压缩 KV cache。踩坑问答离线安装最常见的五个问题Q1装好了一运行就提示找不到模型、或者卡住像在联网。九成是model-source没切到local。先echo $MINERU_MODEL_SOURCE确认环境变量再检查~/.mineru.json里models-dir两个路径是否真实存在注意是模型根目录不是某个具体子目录。Q2pip install报缺包明明offline_wheels里有几百个包。十有八九是联网机和离线机 Python 小版本不一致比如 3.10 对 3.12或者一个有 GPU 一个没有wheel 的 tag 对不上。对齐版本重新pip download别手工往目录里补包。Q3解析出来的 PDF 页面里中文全是方块。系统缺中文字体。裸机装fonts-noto-cjk后执行fc-cache -fv容器镜像里项目 Dockerfile 已经处理了如果你自己精简了基础镜像记得把字体和fontconfig加回去。Q4内存或显存不够任务被杀。先切到 pipeline 后端它是唯一支持纯 CPU 的后端再把并发降下来一次只跑一个文件。CPU 模式下速度可观但别指望吞吐按文档页数做限流。Q5离线机器上能不能再跑一次mineru-models-download补模型不能也别尝试这个命令只服务于联网机器。补模型的正规做法是回联网机器下完重新拷贝目录。上线前验收六条过一遍mineru --version能正常输出版本号~/.mineru.json中model-source为local两个models-dir路径实测存在用一份带表格和公式的样例 PDF 走完整解析输出 markdown 结构正确容器场景加--network none跑一遍确认全程零外网请求仍成功中文、公式符号渲染无乱码、无方块字目标并发下连续跑 10 份文档无 OOM、无超时最后一句就是最快的自检命令跑通即验收通过docker run --rm --network none -v /data/in:/in -v /data/out:/out \ -e MINERU_MODEL_SOURCElocal mineru-offline:3.4.0 mineru -p /in/demo.pdf -o /out【免费下载链接】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),仅供参考
返回列表