华为云ModelArts部署MinerU全过程
【摘要】 华为云ModelArts部署MinerU全过程
视频地址: https://www.bilibili.com/video/BV1EPPezpEjx
一、概述
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平台
二、部署流程

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制作镜像
$ 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,从本地加载模型权重文件!
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)