目录

引言

MinerU简介(官方文档)

前置条件

安装步骤

一、Pytorch

检查cuda最大支持版本

Pytorch下载

二、Docker安装

三、MinerU

部署

基本调用方法


 

引言

        叠甲:本人也是初学者,有问题请在评论区友善讨论

        最近在做一个LLM知识库相关的研究,需要将国家/地方标准文件转换为markdown格式输入LLM中进行知识抽取等处理,尝试了docling、marker、layout parser+detectron2、docparse等项目,最终通过尝试还是MinerU(可以理解为PDF-Extract-Kit的升级版)的效果相对来说较好,而且在9.20发布了最新的2.5版本,demo使用的效果非常好,但是直接更新本地部署版本后效果可以说是基本不变甚至有所退后

        所以研究了一下如何获取近似效果的方式,在github issue上查找相关的问题,ai回复说可以采用pipeline模式通过强行开启ocr进行优化,但是结果还是不让人满意

        最终通过wsl+docker的方式部署,获取了与demo基本近似的结果(Demo将文件中的图片正确识别出来了,而wsl+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平台

前置条件

        -GPU对CUDA的支持必须>=12.8,因为这次的更新vlm的加速框架从加速推理框架从sglang切换至vllm,该框架的依赖要求cuda>=12.8

        -默认安装了pip、conda、git等基本组件(可能是这样称呼?),如未安装自行上网搜索教程安装

安装步骤

一、Pytorch

检查cuda最大支持版本

        Win+R输入cmd进入命令行

        输入

nvidia-smi

        查看GPU支持的CUDA最高版本,这里可以看到我的电脑支持的是12.8正好足够

Pytorch下载

        打开https://pytorch.org/进入pytorch官网 下滑可以看到默认推荐的pytorch版本组合,由于vllm原因以及确认了我的显卡支持12.8我们直接点击12.8版本复制Run this command旁的代码进行安装

        安装完成后控制台输入以下指令查看是否成功安装

python
import torch
print(torch.__version__)
print(torch.cuda.is_available())
exit() # 退出Python

        正常应该如下输出

二、Docker安装

        打开网址Windows | Docker Docs进入Docker官网下载页面选择x86_64版本进行下载

        安装一路下一步就行,打开docker时不用登陆直接进,可能会提示让你更新或下载wsl的情况,按照提示在命令行输入以下命令(注:可能会遇到“wsl update failed”错误,可以参照Windows 安装 Docker Desktop 提示 “WSL update failed” 的解决方法 - BoneMan - 博客园尝试解决)

wsl --update

        到了这一步基本完成了docker的部署。

三、MinerU

部署

        直接通过git命令进行部署,或者直接下载源码解压至你想要的路径,git命令如下

git clone https://github.com/opendatalab/MinerU.git

        命令行进入Dockerfile文件所在路径,并执行构建镜像命令

cd /d <你的具体路径> #一般为...\MinerU\docker\china
docker build -t mineru-vllm:latest -f Dockerfile . # 构建镜像

        如果一切正常的话,跑完一般是一个多行的全蓝代码(忘记截图了)。构建速度一般看自己网速,一般是半个小时左右下载构建完毕,但我的两台设备都会提示错误,截取一个关键信息如下,这个信息大概率是网络原因所引起的,无法从dockerfile中获取镜像

=>ERROR[internal] load meta data for docker.io/vllm/vllm-openai:v0.10.1.1 21.5s

        所以通过预先下载这个包到本地来规避这个错误,这里我们使用华为云的一个镜像

# 本地部署这个包
docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/vllm/vllm-openai:v0.10.1.1 
# 为这个包上一个tag方便docker找到他(非必须)
docker tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/vllm/vllm-openai:v0.10.1.1  docker.io/vllm/vllm-openai:v0.10.1.1 

        下载完成后再次运行镜像构建命令,一般可成功部署

基本调用方法

        详情参照官方文档的命令Docker部署 - MinerU,我懒得复制了

        其中,通常情况下 <server_ip> = 127.0.0.1

 

Logo

立足具身智能前沿赛道,致力于搭建全球化、开源化、全栈式技术交流与实践共创平台。

更多推荐