昇腾服务器部署mxRAG + TEI + MindIE

1. mxRag容器化部署

1.1 拉取镜像

昇腾镜像仓库:
https://www.hiascend.com/developer/ascendhub/detail/27c1cba133384f59ac7ec2500b0e3ffc

1.2 启动容器

docker run 命令参考:
docker run -it -u 0 --ipc=host --net=host --privileged=true --name="test"
--device=/dev/davinci0
--device=/dev/davinci1
--device=/dev/davinci_manager
--device=/dev/devmm_svm
--device=/dev/hisi_hdc
-v /usr/local/dcmi:/usr/local/dcmi
-v /var/log/npu:/var/log/npu
-v /usr/local/Ascend/driver:/usr/local/Ascend/driver
-v /usr/slog:/usr/slog
-v /home/cym:/home/cym
-v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi
-v /usr/local/Ascend/driver/lib64/:/usr/local/Ascend/driver/lib64/
-v /usr/local/Ascend/driver/tools/:/usr/local/Ascend/driver/tools/
-v /usr/local/Ascend/add-ons/:/usr/local/Ascend/add-ons/
swr.cn-south-1.myhuaweicloud.com/ascendhub/mxrag:1.0-arm64
/bin/bash
进入容器后执行:
source /usr/local/Ascend/ascend-toolkit/set_env.sh

1.3 相关代码修改

该镜像中一共有两个demo,其中一个是索引样例,一个是递归书索引样例。

1.3.1 索引样例

在进入容器后,进入到/home目录,如图:
image

demo_test.py是索引样例的代码
test.docx是本次demo的知识库文档
主要是需要修改的是demo_test.py中的代码,如图:
image

49行代码需要修改为TEI服务起的http+port,当前容器必须能ping通
62行代码需要修改为当前知识库的绝对路径
66行代码需要修改为本地的embed模型绝对路径
68行代码需要修改为MindIE大模型起的服务地址,并且model_name需要修改为起服务的大模型名称,当前容器必须能ping通

test.docx知识库文档如图:
image

1.3.2 递归树样例

在进入容器后,进入到/home目录,如图
image

demo_mindie.py是递归树样例的代码
MindIE.docx是本次demo的知识库文档(MindIE安装流程文档)
主要是需要修改的是demo_mindie.py中的代码,如图:
image

42行代码需要修改为TEI服务起的http+port,当前容器必须能ping通
48行代码需要修改为MindIE大模型起的服务地址,并且model_name需要修改为起服务的大模型名称,当前容器必须能ping通
50行代码需要修改大模型的本地路径
56行需要修改当前知识库的绝对路径

1.4 执行demo

执行推理前必须有两个前置条件:
TEI服务已部署,并且该容器能ping通
MindIE服务已部署,并且该容器能ping通
demo执行命令:python3 demo_test.py / python3 demo_mindie.py

1.5 推理结果

索引样例推理结果如图:
其中query是问题,result是结果。
image

递归树样例推理结果如图:
其中query是问题,result是结果。
image

2. TEI服务化部署

2.1 拉取镜像

昇腾镜像仓库:
https://www.hiascend.com/developer/ascendhub/detail/f5f91e8ad4414e838fc8109cce32f05d

2.2 启动容器

请根据镜像仓库中的启动指导来操作
docker run参考:
docker run --privileged -itd -u root --name=nim-embed --net=host
-v /usr/local/Ascend/driver:/usr/local/Ascend/driver:ro
-v /etc/ascend_install.info:/etc/ascend_install.info
-v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi:ro
-v /data/cym/model:/model
-v /home/cym:/home/cym
-v /data/cym:/data/cym
-e http_proxy=127.0.0.1:8080
-e https_proxy=127.0.0.1:8080
swr.cn-south-1.myhuaweicloud.com/ascendhub/embed_nim_300i:v3-arm64 BAAI/bge-large-zh-v1.5 127.0.0.1 8080

进入容器后执行:source /usr/local/Ascend/ascend-toolkit/set_env.sh

2.3 启动服务

执行以下代码:
curl 127.0.0.1:8080/embed
-X POST
-d '{"inputs":"What is Deep Learning?"}'
-H 'Content-Type: application/json'
返回预期如图:
image

3. MindIE服务化部署

3.1 拉取镜像

昇腾镜像仓库:
https://www.hiascend.com/developer/ascendhub/detail/af85b724a7e5469ebd7ea13c3439d48f

3.2 启动容器

请根据镜像仓库中的启动指导来操作
docker run参考:
docker run -u root -it --network=host --name="cym_mindie" --privileged
--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 /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 /dev/mem:/dev/mem
-v /var/log/npu/conf/slog/:/var/log/npu/conf/slog/
-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 /home/cym/:/home/cym
-v /home/cym_test/:/home/cym_test
-v /data/:/data
mindie:1.0.RC2-300I-Duo-aarch64
/bin/bash

3.3 软件包安装

MindIE启动需要配套版本的驱动与固件、CANN && kernel(二进制算子包)、atb-models、pytorch。以上均为RC2配套版本,请联系华为工程师获取。

请参考社区文档安装指导来操作:
https://www.hiascend.com/document/detail/zh/mindie/10RC2/envdeployment/instg/mindie_instg_0001.html
驱动与固件安装:
https://www.hiascend.com/document/detail/zh/mindie/10RC2/envdeployment/instg/mindie_instg_0006.html
CANN && kernel(二进制算子包)安装:
https://www.hiascend.com/document/detail/zh/mindie/10RC2/envdeployment/instg/mindie_instg_0012.html
atb-models安装:
https://www.hiascend.com/document/detail/zh/mindie/10RC2/envdeployment/instg/mindie_instg_0016.html (从第四步开始参考)

pytorch安装:联系华为工程师获取配套pytorch版本

3.4 MindIE-service配置

配置参考:https://www.hiascend.com/document/detail/zh/mindie/10RC2/envdeployment/instg/mindie_instg_0025.html

在安装好后将目录:/usr/local/Ascend/mindie/latest/mindie-service/bin下所有whl文件全部安装。
修改/usr/local/Ascend/mindie/latest/mindie-service/conf/config.json中的配置,如图:
image

主要修改参数配置:
第15 && 第17行改为需要的ip和port
第20行改为false
第57行改为需要的最大序列(输入输出长度)
第58行改为需要的npu设备ID
第63 && 第64行改为大模型名称和绝对路径
第65行改为推理使用卡数,2卡就是2, 8卡就是8
第84行改为需要的最大输出长度

3.5 启动服务

在/usr/local/Ascend/mindie/latest/mindie-service/bin下执行:./mindieservice_daemon
运行日志在:/usr/local/Ascend/mindie/latest/mindie-service/logs/mindservice.log 下
执行成功如图:
image

posted @ 2025-01-19 21:49  RaceSnail  阅读(721)  评论(0)    收藏  举报