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目录,如图:

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

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

1.3.2 递归树样例
在进入容器后,进入到/home目录,如图

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

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是结果。

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

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'
返回预期如图:

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中的配置,如图:

主要修改参数配置:
第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 下
执行成功如图:
