MinerU Docker自定义版本部署

文档解析利器-MinerU安装使用

MinerU是一款将PDF转化为机器可读格式的工具(如markdown、json),可以很方便地抽取为任意格式。

  • 删除页眉、页脚、脚注、页码等元素,确保语义连贯
  • 输出符合人类阅读顺序的文本,适用于单栏、多栏及复杂排版
  • 保留原文档的结构,包括标题、段落、列表等
  • 提取图像、图片描述、表格、表格标题及脚注
  • 自动识别并转换文档中的公式为LaTeX格式
  • 自动识别并转换文档中的表格为HTML格式
  • 自动检测扫描版PDF和乱码PDF,并启用OCR功能
  • OCR支持84种语言的检测与识别
  • 支持多种输出格式,如多模态与NLP的Markdown、按阅读顺序排序的JSON、含有丰富信息的中间格式等
    -支持多种可视化结果,包括layout可视化、span可视化等,便于高效确认输出效果与质检
    -支持纯CPU环境运行,并支持 GPU(CUDA)/NPU(CANN)/MPS 加速
    -兼容Windows、Linux和Mac平台

官方开源地址
在线客户端地址

安装文档可以参考官方开源地址的README文件,上边有详细的安装教程。

本文介绍如何使用官方指定的vllm容器自定义安装。

一、Docker环境构建

参考MinerUDocker安装文档查阅符合自身GPU的镜像版本:

Mineru-2.5版本开始使用vllm:v0.10.1.1镜像。2.5版本在50系显卡存在多个issue提及无法使用vllm推理,只能使用pipline。最新的2.6版本实测5090可以很好的运行。

1.获取vllm镜像,推荐使用国内镜像源:

bash 复制代码
docker pull  docker.1ms.run/vllm/vllm-openai:v0.10.1.1

2.创建容器,需要覆盖vllm容器的入口:

bash 复制代码
docker run -itd \
  --name dev \
  --gpus all \
  --ipc host \
  -p 8000:8000 \ 
  --entrypoint "/bin/bash" \
  容器ID or 容器标签 \  
  -c "tail -f /dev/null"
  1. 进入容器内部:
bash 复制代码
docker exec -it dev(新创建的容器名or容器ID) /bin/bash
  1. 安装依赖:
shell 复制代码
# 依次执行
apt-get update   
apt-get install -y fonts-noto-core fonts-noto-cjk fontconfig libgl1  
apt-get install unzip # 如果服务器能够访问github,则可以不安装unzip
fc-cache -fv
apt-get clean
rm -rf /var/lib/apt/lists/*

按照顺序执行以上步骤,mineru的容器环境依赖就算是安装完成。

二、Mineru源码安装

1. 获取源码:

bash 复制代码
git clone https://github.com/opendatalab/MinerU.git --branch mineru-x.x.x-released --depth 1

branch分支版本可以在github查阅具体需要安装的版本。例如2.6.2版本:
git clone https://github.com/opendatalab/MinerU.git --branch mineru-2.6.2-released --depth 1

如果容器无法访问github,可以手动到指定版本源码仓库下载zip包,通过 docker cp 上传到容器中使用unzip解压。

结果如图:

2. 通过源码安装MinerU

  1. 安装mineru依赖模块
bash 复制代码
首先进入源码目录  cd MinerU-mineru-2.6.2-released  
执行安装命令 pip install -e .[all] -i https://pypi.tuna.tsinghua.edu.cn/simple
  1. 下载Mineru模型
bash 复制代码
mineru-models-download -s modelscope -m all

到此,mineru就已经安装成功!

值得注意的是,mineru默认使用的模型源为huggingface,国内需要切换到modelscope。

因此,国内用户可以将 export MINERU_MODEL_SOURCE=modelscope 写入 ~/.bashrc文件或任意linux启动时会扫描的环境变量文件中。

三、Mineru启动!!

mineru提供了三种启动方式,mineru-gradio | mineru-api | vllm-server 。

需要一个简洁GUI界面的使用 mineru-gradio,需要使用fast api 服务的使用 mineru-api ,使用vllm-client连接的使用 vllm-server

具体使用参考: MinerU Quick Start

例如: mineru-gradio --server-name 0.0.0.0 --server-port 7860 即可在本地启动一个GUI服务。

如果需要修改api接口以兼容本地应用服务的,可以修改源码 cli目录下的 fast_api.py 和 gradio_app.py文件


相关推荐
消失的旧时光-19432 分钟前
Linux 编辑器入门:nano 与 vim 的区别与选择指南
linux·运维·服务器
斯普信专业组4 分钟前
构建基于MCP的MySQL智能运维平台:从开源服务端到交互式AI助手
运维·mysql·开源·mcp
liu****1 小时前
2.深入浅出理解虚拟化与容器化(含Docker实操全解析)
运维·c++·docker·容器·虚拟化技术
池央1 小时前
CANN 诊断工具链深度解析:oam-tools 的自动化故障信息收集、软硬件状态快照与 AI Core 错误溯源机制
运维·人工智能·自动化
云边有个稻草人2 小时前
打工人摸鱼新姿势!轻量斗地主服务器,内网穿透让同事远程联机不翻车
运维·服务器·cpolar
乾元2 小时前
终端安全(EDR):用深度学习识别未知勒索软件
运维·人工智能·网络协议·安全·网络安全·自动化·安全架构
logocode_li2 小时前
OCI/CRI 双标准下:从 dockerd 到 containerd 的 K8s 运行时迭代史
docker·云原生·容器·k8s
wbs_scy2 小时前
Linux 进阶指令实操指南:文件查看、时间管理、搜索压缩全场景覆盖(附高频案例)
linux·运维·服务器
安科瑞刘鸿鹏172 小时前
高速路灯故障难定位?用 ASL600 实现精确单灯监测与维护预警
运维·网络·物联网·安全
馨谙2 小时前
Ansible 事实(Facts)全面指南:自动化运维中的主机信息管理
运维·ansible