Mineru2.0基于华为昇腾 310 系列、910B系列本地化部署Mineru2.0开源项目
本文详细介绍了在华为昇腾NPU设备上部署Mineru项目的完整流程。首先需下载对应版本的华为镜像包,然后通过docker run命令运行容器并挂载必要的设备目录。部署过程中需注意安装指定版本的依赖库(如accelerate 0.25.0、torch-npu 2.1.0等),配置本地模型路径,并解决可能出现的依赖冲突问题。最后通过mineru-api命令启动服务,支持pipeline模式处理PDF文
前言:废话不多说,直接上干货。下面全是实操过的,并且服务成功运行能用的。各大论坛网站华为官网泡了几天都找不到部署的帖子,无奈只能自己研究了,上周弄的项目,今天就抽点时间发一下,希望大伙儿能顺利完成。
部署步骤
1. 下载华为镜像包:swr.cn-south-1.myhuaweicloud.com/ascendhub/mindie:2.1.RC1-300I-Duo-py311-openeuler24.03-lts
2. 运行容器:
注意:需要查看挂载得晟腾目录中是否含有ascend-toolkit和runtime包,这两个必须得有
310系列
docker run -itd --shm-size=“500g” -p 9005:9005 --privileged=true
–name mindie
-e ASCEND_RT_VISIBLE_DEVICES=0
–restart=always
–device=/dev/davinci0
–device=/dev/davinci_manager
–device=/dev/devmm_svm
–device=/dev/hisi_hdc
-v /usr/local/Ascend/driver/:/usr/local/Ascend/driver/
-v /usr/local/Ascend/add-ons/:/usr/local/Ascend/add-ons/
-v /usr/local/sbin/:/usr/local/sbin/
-v /var/log/npu/slog/:/var/log/npu/slog
-v /var/log/npu/profiling/:/var/log/npu/profiling
-v /var/log/npu/dump/:/var/log/npu/dump
-v /var/log/npu/:/usr/slog
-v /etc/hccn.conf:/etc/hccn.conf
swr.cn-south-1.myhuaweicloud.com/ascendhub/mindie:2.1.RC1-300I-Duo-py311-openeuler24.03-lts
/bin/bash
A800系列:
docker run -itd --shm-size=“500g” -p 9005:9005 --privileged
–name mindie
–restart=always
–device=/dev/davinci0
–device=/dev/davinci1
–device=/dev/davinci_manager
–device=/dev/devmm_svm
–device=/dev/hisi_hdc
-v /usr/local/Ascend/driver/:/usr/local/Ascend/driver/
-v /usr/local/Ascend/add-ons/:/usr/local/Ascend/add-ons/
-v /usr/local/sbin/:/usr/local/sbin/
-v /var/log/npu/slog/:/var/log/npu/slog
-v /var/log/npu/profiling/:/var/log/npu/profiling
-v /var/log/npu/dump/:/var/log/npu/dump
-v /var/log/npu/:/usr/slog
-v /etc/hccn.conf:/etc/hccn.conf
swr.cn-south-1.myhuaweicloud.com/ascendhub/mindie:2.0.RC1-800I-A2-py311-openeuler24.03-lts
/bin/bash
3. 进入容器后,开始部署我们得Mineru项目
4. 安装依赖:pip install mineru[core]或者pip install -U ‘mineru[core]’ -i https://mirrors.aliyun.com/pypi/simple
5. 下载模型:mineru-models-download。
6. 目前NPU上只支持跑pipeline.像Mineru2.0的新特性VLM模式跑不了,暂不支持。
7. 存储路径:/root/.cache/modelscope/hub/models/OpenDataLab/PDF-Extract-Kit-1.0
mineru-models-download
配置文件管理
下载完成后,模型路径会自动写入用户目录下的mineru.json配置文件:
下载完成后,模型路径会在当前终端窗口输出,并自动写入用户目录下的 mineru.json。
您也可以通过将配置模板文件复制到用户目录下并重命名为 mineru.json 来创建配置文件。
模型下载到本地后,您可以自由移动模型文件夹到其他位置,同时需要在 mineru.json 中更新模型路径。
如您将模型文件夹部署到其他服务器上,请确保将 mineru.json文件一同移动到新设备的用户目录中并正确配置模型路径。
如您需要更新模型文件,可以再次运行 mineru-models-download 命令,模型更新暂不支持自定义路径,如您没有移动本地模型文件夹,模型文件会增量更新;如您移动了模型文件夹,模型文件会重新下载到默认位置并更新mineru.json。
8. 配置本地模型:必需:export MINERU_MODEL_SOURCE=local
9. 安装系统依赖:yum install -y mesa-libGL mesa-libGL-devel libXrender libSM libXext tesseract tesseract-langpack-chi_sim
10. 启动过程中,会报各种依赖错误:此时,把下面得版本进行修改:
降低 accelerate/PEFT 版本:
1、pip install --upgrade --force-reinstall accelerate0.25.0 peft0.5.0
2、torch-npu2.1.0,torch2.1.0,torchvision0.16.2,numpy1.26.4(先torchversion,再numpy、再torch)
11. 启动API服务:mineru-api --host 0.0.0.0 --port 8009
12. mineru-api --host 0.0.0.0 --port 8009 --device npu
或者后台启动:nohup mineru-api --host 0.0.0.0 --port 8009 --device npu > mineru.log 2>&1 &
查看:ps -ef | grep mineru-api
杀死:kill -9
在浏览器中访问 c 查看API文档。
13. 完结:使用上面得依赖就能够成功启动,并且服务能正常运行。

14. 容器内测试:
curl --location ‘http://127.0.0.1:9005/file_parse’
–form ‘files=@“./demo1.pdf”’
–form ‘backend=“pipeline”’
–form ‘parse_method=“auto”’
–form ‘formula_enable=“true”’
–form ‘table_enable=“true”’
–form ‘start_page_id=“0”’
离线Docker部署流程
1、在有线环境中,把上面步骤走一遍,然后保持容器启动
2、生成新的镜像:docker commit xx:v1.0
docker run -itd --shm-size=“500g” -p 9005:9005 --privileged
–name mineru2
–restart=always
–device=/dev/davinci0
–device=/dev/davinci1
–device=/dev/davinci_manager
–device=/dev/devmm_svm
–device=/dev/hisi_hdc
-v /usr/local/Ascend/driver/:/usr/local/Ascend/driver/
-v /usr/local/Ascend/add-ons/:/usr/local/Ascend/add-ons/
-v /usr/local/sbin/:/usr/local/sbin/
-v /var/log/npu/slog/:/var/log/npu/slog
-v /var/log/npu/profiling/:/var/log/npu/profiling
-v /var/log/npu/dump/:/var/log/npu/dump
-v /var/log/npu/:/usr/slog
-v /etc/hccn.conf:/etc/hccn.conf
mineru-npu:v1.0
/bin/bash
4、记得导入模型变量export MINERU_MODEL_SOURCE=local
5、此时的新镜像中,包含了所有的依赖和系统文件等。
容器内测试:
curl --location ‘http://127.0.0.1:9005/file_parse’
–form ‘files=@“./demo1.pdf”’
–form ‘backend=“pipeline”’
–form ‘parse_method=“auto”’
–form ‘formula_enable=“true”’
–form ‘table_enable=“true”’
–form ‘start_page_id=“0”’
跑成功的兄弟,留下你的服务器配置。
鲲鹏昇腾开发者社区是面向全社会开放的“联接全球计算开发者,聚合华为+生态”的社区,内容涵盖鲲鹏、昇腾资源,帮助开发者快速获取所需的知识、经验、软件、工具、算力,支撑开发者易学、好用、成功,成为核心开发者。
更多推荐


所有评论(0)