国产化MinerU部署
LiuSovia 化神

国产化MinerU部署

docker-compose配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#version: '3.8'

# 定义公共配置,包含运行 NPU 所需的特权、设备和挂载
x-npu-common: &npu-common
privileged: true
ipc: host
network_mode: host
ulimits:
memlock: -1
stack: 67108864
volumes:
- /var/log/npu/:/usr/slog
- /usr/local/bin/npu-smi:/usr/local/bin/npu-smi
- /usr/local/Ascend/driver:/usr/local/Ascend/driver
- /usr/local/Ascend/ascend-toolkit:/usr/local/Ascend/ascend-toolkit
environment:
# 基础环境变量
- ASCEND_HOME=/usr/local/Ascend/ascend-toolkit/latest
- ASCEND_OPP_PATH=/usr/local/Ascend/ascend-toolkit/latest/opp
- ASCEND_AICPU_PATH=/usr/local/Ascend/ascend-toolkit/latest
# 修复 ld_library_path 确保能找到 aclnn 相关库
- LD_LIBRARY_PATH=/usr/local/Ascend/ascend-toolkit/latest/lib64:/usr/local/Ascend/driver/lib64:$LD_LIBRARY_PATH
# 针对日志中的建议添加的性能参数
- HCCL_OP_EXPANSION_MODE=AIV
# 告诉 vLLM 使用 NPU
- VLLM_TARGET_DEVICE=npu
devices:
- /dev/davinci0:/dev/davinci0
- /dev/davinci1:/dev/davinci1
- /dev/davinci2:/dev/davinci2
- /dev/davinci3:/dev/davinci3
- /dev/davinci_manager:/dev/davinci_manager
- /dev/devmm_svm:/dev/devmm_svm
- /dev/hisi_hdc:/dev/hisi_hdc

services:
mineru-openai-server:
<<: *npu-common
image: mineru_npu:v1.3
container_name: mineru-openai-server
restart: always
ports:
- 30000:30000
environment:
MINERU_MODEL_SOURCE: modelscope
MINERU_VLM_BACKEND: vlm-http-client
MINERU_VLM_API_URL: http://192.168.11.15:10002/v1
MINERU_VLM_API_KEY: sk-FaDiFQpSekXkHM8U7ltU4ubQM3rLGkPD
MINERU_VLM_MODEL_NAME: Qwen3.6-35B-A3B-FP8
# entrypoint: mineru-openai-server
entrypoint: ["/bin/bash", "-c", "source /usr/local/Ascend/ascend-toolkit/set_env.sh && exec mineru-openai-server \"$@\"", "--"]
command: --host 0.0.0.0 --port 30000 --gpu-memory-utilization 0.2 --tensor-parallel-size 2 --enforce-eager --dtype float16 --mamba-ssm-cache-dtype float16 --max-model-len 8192 --trust-remote-code --enable-prefix-caching

mineru-api:
<<: *npu-common
image: mineru_npu:v1.3
container_name: mineru-api
restart: always
ports:
- 8001:8000
environment:
MINERU_VL_SERVER: http://192.168.11.26:8000
MINERU_MODEL_SOURCE: local
entrypoint: mineru-api
command: --host 0.0.0.0 --port 8000 --gpu-memory-utilization 0.1 --allow-public-http-client

mineru-router:
<<: *npu-common
image: mineru_npu:v1.3
container_name: mineru-router
restart: always
ports:
- 8002:8002
environment:
MINERU_MODEL_SOURCE: local
entrypoint: mineru-router
command: --host 0.0.0.0 --port 8002 --local-gpus auto --allow-public-http-client

mineru-gradio:
<<: *npu-common
image: mineru_npu:v1.3
container_name: mineru-gradio
restart: always
ports:
- 7860:7860
environment:
MINERU_MODEL_SOURCE: local
entrypoint: mineru-gradio
command: --server-name 0.0.0.0 --server-port 7860 --gpu-memory-utilization 0.1

docker部署
编译容器
ascend-vllm支持设备如下:

Atlas A2 training series (Atlas 800T A2, Atlas 900 A2 PoD, Atlas 200T A2 Box16, Atlas 300T A2)
Atlas 800I A2 inference series (Atlas 800I A2)
Atlas A3 training series (Atlas 800T A3, Atlas 900 A3 SuperPoD, Atlas 9000 A3 SuperPoD)
Atlas 800I A3 inference series (Atlas 800I A3)
[Experimental] Atlas 300I inference series (Atlas 300I Duo)
Dockerfile文件第三行为ascend-vllm基础镜像信息,默认tag为A2适配的版本,例如 v0.11.0

如需使用A3适配的版本,请将第三行的tag修改为 v0.11.0-a3,然后再执行build操作。
如需使用Atlas 300I Duo适配的版本,请将第三行的tag修改为 v0.10.0rc1-310p,然后再执行build操作。

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

启动命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
docker run -d -u root --name mineru-api-openai --privileged=true \
--device=/dev/davinci0 \
--device=/dev/davinci1 \
--device=/dev/davinci2 \
--device=/dev/davinci3 \
--device=/dev/davinci_manager \
--device=/dev/devmm_svm \
--device=/dev/hisi_hdc \
-v /var/log/npu/:/usr/slog \
-v /usr/local/dcmi:/usr/local/dcmi \
-v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi \
-v /usr/local/Ascend/driver:/usr/local/Ascend/driver \
-e VLLM_USE_V1=1 \
-e VLLM_WORKER_MULTIPROC_METHOD=spawn \
-e MINERU_MODEL_SOURCE=local \
-e MINERU_LMDEPLOY_DEVICE=ascend \
-p 8001:8000 \
-p 30000:30000 \
-it mineru:npu-vllm-310p \
/bin/bash -c "
mineru-api --host 0.0.0.0 --port 8000 --gpu-memory-utilization 0.5 --max-model-len 8192 --allow-public-http-client --dtype float16 --trust-remote-code --enable-prefix-caching --enforce-eager & \
mineru-openai-server --host 0.0.0.0 --port 30000 --tensor-parallel-size 2 --gpu-memory-utilization 0.5 --max-model-len 8192 --dtype float16 --trust-remote-code --enable-prefix-caching --enforce-eager & \
wait
"
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
docker run -u root --name mineru-gradio --privileged=true \
--device=/dev/davinci0 \
--device=/dev/davinci1 \
--device=/dev/davinci2 \
--device=/dev/devmm_svm \
--device=/dev/davinci3 \
-v /var/log/npu/:/usr/slog \
--device=/dev/davinci_manager \
--device=/dev/devmm_svm \
--device=/dev/hisi_hdc \
-e VLLM_WORKER_MULTIPROC_METHOD=spawn \
-v /var/log/npu/:/usr/slog \
-v /usr/local/dcmi:/usr/local/dcmi \
-v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi \
-v /usr/local/Ascend/driver:/usr/local/Ascend/driver \
-e VLLM_USE_V1=1 \
-e VLLM_WORKER_MULTIPROC_METHOD=spawn \
-e MINERU_MODEL_SOURCE=local \
-e MINERU_LMDEPLOY_DEVICE=ascend \
-p 7860:7860 \
-it mineru:npu-vllm-310p \
mineru-gradio --server-name 0.0.0.0 --server-port 7860 --gpu-memory-utilization 0.5 --tensor-parallel-size 2 --dtype float16 --trust-remote-code --enable-prefix-caching --enforce-eager
 评论
评论插件加载失败
正在加载评论插件