
MinerU 海光 DCU 加速卡部署实践构建 vLLM 镜像、启动容器与解析后端选择指南【免费下载链接】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 官方仓库中的海光Hygon加速卡适配文档docs/zh/usage/acceleration_cards/Hygon.md展开讲解如何在海光 DCUDeep Computing Unit平台上通过 Docker 部署 MinerU包括使用仓库内置的dcu.Dockerfile构建 vLLM 推理镜像、带 DCU 设备直通参数启动容器、在容器内选择 pipeline / vlm / hybrid 等解析后端运行服务以及用hy-smi监控与指定空闲加速卡的操作方法。读完本文你可以完整复现一套在海光 DCU 上稳定运行 MinerU 命令行工具、FastAPI 服务与 Gradio WebUI 的部署方案。1. 支持范围总览哪些运行形态可以在 DCU 上使用在开始部署之前先确认 MinerU 对 Hygon DCU 的支持面。官方文档以矩阵形式给出了“使用场景 × 容器环境vLLM”下的支持情况当前版本中各组合均为 支持运行较稳定精度与 Nvidia GPU 基本一致使用场景解析后端DCU容器 vLLM支持情况命令行工具minerupipeline命令行工具mineruvlm/hybrid-engine命令行工具mineruvlm/hybrid-http-clientFastAPI 服务mineru-apipipelineFastAPI 服务mineru-apivlm/hybrid-engineFastAPI 服务mineru-apivlm/hybrid-http-clientGradio 界面mineru-gradiopipelineGradio 界面mineru-gradiovlm/hybrid-engineGradio 界面mineru-gradiovlm/hybrid-http-clientOpenAI 兼容服务mineru-openai-server—图例含义 表示支持、运行较稳定精度与 Nvidia GPU 基本一致 表示支持但较不稳定某些场景下可能出现异常或精度存在一定差异 表示不支持、无法运行或精度存在较大差异。其中vlm/hybrid是占位写法对应源码 mineru/cli/backend_options.py 中定义的五种后端常量pipeline、vlm-engine、hybrid-engine、vlm-http-client、hybrid-http-client。也就是说上表中vlm-engine与hybrid-engine表示 VLM 推理引擎在本机进程内运行而vlm-http-client与hybrid-http-client则是轻量远程 client通过 HTTP 连接一个独立运行的 OpenAI 兼容服务器即mineru-openai-server。这一点决定了后文两种部署形态单机 all-in-one 容器与client/server 分离部署。2. 测试平台基线官方文档给出的验证环境如下可作为你自查宿主机环境是否对齐的基线os: Ubuntu 22.04.3 LTS cpu: Hygon C86-4G(x86-64) dcu: BW200 driver: 6.3.13-V1.12.0a docker: 20.10.24需要注意两点适用前提其一DCU 走的是类 AMD ROCm/HIP 的软硬件栈DTK 工具链因此本文方案不适用于其他品牌的加速卡昇腾、昆仑芯、摩尔线程等那些平台需参考 docs/zh/usage/acceleration_cards/ 目录下各自的适配文档其二仓库内 docker/compose.yaml 提供的编排模板面向 Nvidia GPU使用driver: nvidia设备预留不能直接用于 DCUDCU 部署应以下文docker run设备直通方式为准。3. 环境准备用仓库内置 Dockerfile 构建 DCU 镜像官方推荐的镜像构建方式为直接拉取仓库中的 DCU 专用 Dockerfile 并构建wget https://gcore.jsdelivr.net/gh/opendatalab/MinerUmaster/docker/china/dcu.Dockerfile docker build --networkhost -t mineru:dcu-vllm-latest -f dcu.Dockerfile .构建完成后可用docker images | grep mineru:dcu-vllm-latest验证镜像是否就绪。3.1 镜像内部都做了什么逐行阅读仓库内的 docker/china/dcu.Dockerfile可以清楚这个镜像的四层构成vLLM 推理底座基于harbor.sourcefind.cn:5443/dcu/admin/base/vllm:0.9.2-ubuntu22.04-dtk25.04.2-1226-das1.7-py3.10-20251226基础镜像内含 vLLM 0.9.2、DTK 25.04.2、DAS 1.7 与 Python 3.10 的完整海光软件栈要求 amd64x86-64CPU Hygon DCU。这正是支持矩阵中“容器环境 vllm”的来源——vlm/hybrid-engine与mineru-openai-server依赖的 vLLM 运行时已在基础镜像内完成对 DTK 的适配。中文字体安装fonts-noto-core、fonts-noto-cjk与fontconfig并刷新字体缓存。MinerU 的渲染/输出链路如 HTML/图片类内容的中文显示依赖系统字体缺字体会导致中文渲染为方块。MinerU 本体通过阿里云 PyPI 镜像安装mineru[gradio]3.4.0及ftfy、shapely、pyclipper、omegaconf、固定版本的numpy1.25.0、opencv-python4.11.0.86等运行依赖并清理 pip 缓存以缩小镜像体积。模型预下载 本地模型源入口构建阶段即执行mineru-models-download -s modelscope -m all把全部模型下载到镜像内最后将ENTRYPOINT设置为export MINERU_MODEL_SOURCElocal exec $保证容器内所有 MinerU 命令默认走本地模型目录无需联网拉模型。关于MINERU_MODEL_SOURCE的语义可以参见 docs/zh/usage/model_source.md取值支持huggingface、modelscope、local环境变量优先级高于mineru.json中的model-source字段。DCU 镜像选择在构建期预置模型并强制local本质上是把“模型获取”从运行时前移到构建期使离线环境也能开箱即用。4. 启动 Docker 容器设备直通参数逐项解读进入交互式终端的官方启动命令如下引自 Hygon.mddocker run -u root --name mineru_docker \ --networkhost \ --ipchost \ --shm-size16G \ --device/dev/kfd \ --device/dev/mkfd \ --device/dev/dri \ -v /opt/hyhal:/opt/hyhal \ --group-add video \ --cap-addSYS_PTRACE \ --security-opt seccompunconfined \ -e MINERU_MODEL_SOURCElocal \ -it mineru:dcu-vllm-latest \ /bin/bash各参数在海光 DCU 场景下的作用如下参数作用--device/dev/kfd直通 KFDKernel Driver设备节点是用户态程序通过 HSA/HIP 运行时访问 DCU 的核心通道--device/dev/mkfd海光驱动特有的设备节点DCU 栈中的补充通道--device/dev/dri直通 DRM 渲染/显存管理节点部分显存分配路径依赖它-v /opt/hyhal:/opt/hyhal挂载宿主机海光 HAL硬件抽象层库目录使容器内的 DTK 运行时能调用宿主机驱动--shm-size16G扩大共享内存满足多进程推理如 vLLM 的 TP 多进程对共享内存的需求--ipchost/--networkhost与宿主机共享 IPC 与网络命名空间简化服务端口暴露与共享内存通信--group-add video让容器进程加入宿主机 video 组获得/dev/dri的读写权限配合-u root使用--cap-addSYS_PTRACE/--security-opt seccompunconfined放宽安全限制允许推理框架的调试/性能分析调用与必要的系统调用-e MINERU_MODEL_SOURCElocal与镜像 ENTRYPOINT 双重保险确保运行期一律使用镜像内预置的本地模型执行该命令后你会进入容器的交互式终端可以直接运行 MinerU 相关命令。若不需要交互把末尾的/bin/bash替换为服务启动命令如mineru-api、mineru-gradio、mineru-openai-server及其参数即可一步拉起服务命令形态与 docs/zh/usage/quick_usage.md 中“通过 api、webui、http-client/server 进阶使用”一节保持一致。5. 容器内使用 MinerU三种典型形态5.1 命令行解析最基本的用法与平台无关mineru -p input_path -o output_path其中input_path可以是本地 PDF/图片/DOCX/PPTX/XLSX 文件或目录output_path为输出目录。通过-b参数选择解析后端即可切换 pipeline 与 VLM 形态例如# pipeline 后端纯传统模型链路无需 vLLM mineru -p ./demo/pdfs/demo1.pdf -o ./output -b pipeline # hybrid-engine 后端本容器内 vLLM 引擎DCU 上为 支持 mineru -p ./demo/pdfs/demo1.pdf -o ./output -b hybrid-engine5.2 服务化部署mineru-api 与 mineru-gradioFastAPI 服务mineru-api --host 0.0.0.0 --port 8000浏览器访问http://127.0.0.1:8000/docs查看 API 文档健康检查为GET /health异步提交POST /tasks、同步解析POST /file_parse详见 docs/zh/usage/quick_usage.md。Gradio WebUImineru-gradio --server-name 0.0.0.0 --server-port 7860访问http://127.0.0.1:7860使用可视化前端。5.3 OpenAI 兼容服务器 http-client 分离部署支持矩阵中mineru-openai-server为 意味着可以走 client/server 分离形态# 终端一启动 OpenAI 兼容服务器需要镜像内的 vLLM 环境 mineru-openai-server --port 30000 # 终端二轻量远程 client 连接 mineru -p input_path -o output_path -b hybrid-http-client -u http://127.0.0.1:30000vlm-http-client是轻量远程 client用法上不要求本地安装torchhybrid-http-client则要求本地具备mineru[pipeline]及torch等 pipeline 依赖。在 DCU 容器内两者依赖均已随镜像就绪。从源码结构看mineru-openai-server的启动入口 mineru/model/vlm/vllm_server.py 本质上是对 vLLM CLI 的封装自动补全默认--port 30000、默认--gpu-memory-utilization未显式指定时由set_default_gpu_memory_utilization()计算、自动解析本地 vlm 模型路径auto_download_and_get_model_root_path并在需要时注入 MinerU 自定义的--logits-processors mineru_vl_utils:MinerULogitsProcessor最终调用vllm serve。这也解释了为什么所有 vLLM/lmdeploy 官方支持的参数都能透传给mineru、mineru-api、mineru-gradio、mineru-router等命令——常见参数的整理见 docs/zh/usage/advanced_cli_parameters.md。另外该入口还会在OMP_NUM_THREADS未设置时将其置为1避免推理服务与宿主 CPU 线程竞争在多 DCU 混布时是一个值得留意的细节。6. 加速卡指定与监控官方文档给出两条针对 Hygon 平台的运维提示监控在 Hygon 平台可以通过hy-smi命令查看加速卡的占用、显存与温度使用情况启动服务前先确认目标卡空闲避免多服务互相争抢。指定可见卡DCU 指定可用加速卡的方式与 AMD GPUROCm类似即通过 GPU isolation 环境变量ROCm 体系中的HSA_VISIBLE_DEVICES类机制限定进程可见的设备集合。建议在容器启动或运行 MinerU 命令前结合hy-smi输出的空闲卡 ID 设置该环境变量从而把 MinerU 固定在指定 DCU 上运行。由于 DCU 驱动栈与 AMD ROCm 同源社区在 ROCm 隔离文档中介绍的可见设备控制思路在此同样适用具体变量名以你所用 DTK/驱动版本官方文档为准。7. 小结与适用前提本文方案完全基于仓库 docker/china/dcu.Dockerfile 与 docs/zh/usage/acceleration_cards/Hygon.md覆盖从镜像构建、容器设备直通、后端选型到多服务形态部署的全流程适用前提为 Ubuntu 系宿主机 amd64 CPU Hygon DCU文档验证平台为 BW200 DTK 25.04.2 vLLM 0.9.2镜像内的模型版本与 MinerU 版本以构建时的mineru[gradio]3.4.0与预置模型为准支持矩阵、//结论均以官方文档当前版本为准不同驱动/DTK 版本下如有差异请以hy-smi实测与文档后续更新为准如需扩展功能如 LaTeX 分隔符、LLM 辅助标题分级、自定义本地模型目录可在容器内用户目录维护mineru.json配置模板参见 mineru.template.json。【免费下载链接】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),仅供参考