一、概述

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

主要功能:
  • 删除页眉、页脚、脚注、页码等元素,确保语义连贯
  • 输出符合人类阅读顺序的文本,适用于单栏、多栏及复杂排版
  • 保留原文档的结构,包括标题、段落、列表等
  • 提取图像、图片描述、表格、表格标题及脚注
  • 自动识别并转换文档中的公式为LaTeX格式
  • 自动识别并转换文档中的表格为HTML格式
  • 自动检测扫描版PDF和乱码PDF,并启用OCR功能
  • OCR支持109种语言的检测与识别
  • 支持多种输出格式,如多模态与NLP的Markdown、按阅读顺序排序的JSON、含有丰富信息的中间格式等
  • 支持多种可视化结果,包括layout可视化、span可视化等,便于高效确认输出效果与质检
  • 支持纯CPU环境运行,并支持 GPU(CUDA)/NPU(CANN)/MPS 加速
  • 兼容Windows、Linux和Mac平台
相关站点:
站点 地址
MinerU官网 https://mineru.net/
MinerU技术文档 https://opendatalab.github.io/MinerU/zh/
Ascend部署文档 https://opendatalab.github.io/MinerU/zh/usage/acceleration_cards/Ascend/
华为云魔坊(ModelArts) https://www.huaweicloud.com/product/modelarts.html

二、部署流程

在这里插入图片描述

1、环境准备

#1.1安装Docker
$ apt update
$ apt install docker.io

#1.2验证安装结果
$ docker info

#1.3配置华为云加速源
容器镜像服务SWR -- 镜像资源 -- 镜像中心 -- 镜像加速器(右上角)

#如果配置了加速后还是慢,几个解决办法
1)其他加速镜像源下载:docker pull quay.nju.edu.cn/ascend/vllm-ascend:v0.11.0
2)尝试晚上或夜间执行
3)给我留言,华为云SWR分享或百度网盘分享tar.gz文件

2、制作容器镜像

#2.1制作镜像
参考官方文档:https://opendatalab.github.io/MinerU/zh/usage/acceleration_cards/Ascend/

$ wget https://gcore.jsdelivr.net/gh/opendatalab/MinerU@master/docker/china/npu.Dockerfile
$ docker build --network=host -t mineru:npu-vllm-latest -f npu.Dockerfile .

#这个环节,注意是否下载了模型权重文件!

#2.2 上传镜像到SWR
容器镜像服务SWR -- 我的镜像 -- 客户端上传 (参照说明进行上传,具体操作见视频)

$ docker login ...
$ sudo docker tag mineru:npu-vllm-latest swr.cn-southwest-2.myhuaweicloud.com/toc-dev/mineru-ascend:1.0.0
$ sudo docker push swr.cn-southwest-2.myhuaweicloud.com/toc-dev/mineru-ascend:1.0.0


#镜像制作过程比较耗时,如果不是关注技术过程,可以留言找我要打好的镜像文件。

在这里插入图片描述


3、在ModelArts中发布服务

#注册镜像 -- 创建模型 -- 模型部署(在线服务)

名称:mineru-ascend
启动命令:mineru-api --host 0.0.0.0 --port 8000
⭐️ 环境变量:MINERU_MODEL_SOURCE=local
参看:https://opendatalab.github.io/MinerU/zh/usage/model_source/

4、调用

#步骤:获取token -- 接口调用

#获取token:
https://console.huaweicloud.com/apiexplorer/#/openapi/IAM/debug?api=KeystoneCreateUserTokenByPassword&version=v3


#接口调用:
验证:使用postman
代码:从postman获得curl命令,扔给AI,让他帮你写代码。(自行实践,也可关注我AI编程相关文章或视频)


#原始接口本地验证命令(有条件执行,无条件的仅作为参考)
curl -X 'POST' \
  'http://localhost:8000/file_parse' \
  -H 'accept: application/json' \
  -H 'Content-Type: multipart/form-data' \
  -F 'return_middle_json=false' \
  -F 'return_model_output=false' \
  -F 'return_md=true' \
  -F 'return_images=false' \
  -F 'end_page_id=99999' \
  -F 'parse_method=auto' \
  -F 'start_page_id=0' \
  -F 'lang_list=ch' \
  -F 'output_dir=./output' \
  -F 'server_url=string' \
  -F 'return_content_list=false' \
  -F 'backend=pipeline' \
  -F 'table_enable=true' \
  -F 'response_format_zip=false' \
  -F 'files=@ocr_test.jpg;type=image/jpeg' \
  -F 'formula_enable=true'
  
  
#响应速度:
配置:Ascend: 1*ascend-snt9b2 ,ARM: 24 核 96000MB
文件:36K的jpg文件
速度:首次:36秒左右,非首次:4秒左右

5、清理资源

#这一步最关键,按需购买的会持续扣费,不使用了一定记得要及时清理!

本例清理的资源包括:
1)ModelArts -- 在线服务
2)制作镜像用的ECS服务器

注意事项

1、本文是讲解MinerU在“鲲鹏+昇腾”算力下的部署。
2、如果有昇腾算力,建议在昇腾算力上打包,如果没有,建议采用鲲鹏云服务器制作镜像。(本例使用入手门槛较低的鲲鹏ECS)
3、坑点1:下载基础vllm镜像非常的慢。本文提供了4种解决办法。
4、坑点2:务必配置环境变量:MINERU_MODEL_SOURCE=local,从本地加载模型权重文件!

视频地址: 「洋Vlog」华为云ModelArts(鲲鹏+昇腾)部署MinerU

Logo

昇腾计算产业是基于昇腾系列(HUAWEI Ascend)处理器和基础软件构建的全栈 AI计算基础设施、行业应用及服务,https://devpress.csdn.net/organization/setting/general/146749包括昇腾系列处理器、系列硬件、CANN、AI计算框架、应用使能、开发工具链、管理运维工具、行业应用及服务等全产业链

更多推荐