Dify+华为昇腾服务器配置embedding与rerank模型服务

部署运行你感兴趣的模型镜像

一、问题背景

现在基于RAG的大模型服务太火了。做RAG除了LLM以外,就离不开embedding和rerank模型,因此官方昇腾社区已经更新了相关镜像mis-tei,但是按照指示在服务启动过程中却遇到了一些坑,例如按照如下命令启动容器:

docker run -e ASCEND_VISIBLE_DEVICES=0 -itd --name=tei --net=host \
-v /home/data:/home/HwHiAiUser/model \
-e http_proxy=<ip:port> \
-e https_proxy=<ip:port> \
--entrypoint /home/HwHiAiUser/start.sh \
mis-tei:6.0.RC3-800I-A2-aarch64  BAAI/bge-reranker-large 127.0.0.1 8080

发现容器不能正常启动,docker ps -a显示容器exited,手动启动也没有办法成功。docker logs <container_id>查看显示:

Model 'bge-reranker-large' exists:
/home/HwHiAiUser/start.sh : line 74: npu-smi: commond not found
Available device not found

二、bug解决思路与方案:

1、从log来看,像是容器中没有把昇腾的NPU挂载成功,先更换启动容器脚本,进入容器手动启动.sh文件查看情况。

docker run -e ASCEND_VISIBLE_DEVICES=0 -itd --name=tei --net=host \
-v /home/data:/home/HwHiAiUser/model \
-v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi \
-v /usr/local/Ascend/driver:/usr/local/Ascend/driver \
--entrypoint /bin/bash \
mis-tei:6.0.RC3-800I-A2-aarch64 

这时候发现容器可以正常启动,而不是exited了,docker exec -it <容器ID> bash 进入容器后,执行 npu-smi info,这个时候不会再报npu-smi: commond not found错误信息了。

然后手动执行bash /home/HwHiAiUser/start.sh。这时候发现服务log正常打印~~~说明问题就是由于之前的容器启动语句中没有把昇腾的NPU驱动挂载成功导致的。

因此最终简单修改下驱动语句即可:

docker run -u root -e ASCEND_VISIBLE_DEVICES=0 -itd --name=tei --net=host \
-e HOME=/home/HwHiAiUser \
--privileged=true  \
-v /home/data:/home/HwHiAiUser/model \
-v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi \
-v /usr/local/Ascend/driver:/usr/local/Ascend/driver \
-e http_proxy=<ip:port> \ #网络物理隔离的情况可以省略
-e https_proxy=<ip:port> \ #网络物理隔离的情况可以省略
--entrypoint /home/HwHiAiUser/start.sh \
mis-tei:6.0.RC3-800I-A2-aarch64  BAAI/bge-reranker-large 127.0.0.1 8080

至此,容器可以正常启动,进行测试:

curl 127.0.0.1:8080/rerank \
    -X POST \
    -d '{"query":"What is Deep Learning?", "texts": ["Deep Learning is not...", "Deep learning is..."]}' \
    -H 'Content-Type: application/json'

可正常返回结果。

tips:

(1)提前检查服务端口8080注意不要被别的端口占用,linux系统查看端口占用命令:netstat -tulpn。如果被8080被占用,就更换为其他port,例如2025。

(2)dify如果需要远程登录访问的话,注意IP不要填写127.0.0.1,而是要写embedding或rerank服务所在的服务器IP。否则不能正常访问。

2、dify配置mis-tei的embedding和rerank服务

embedding和rerank服务的设置路径都是:

账户-->设置-->模型供应商-->text embedding inference 

设置embedding服务的时候,如果不写API key会报错,不请是什么问题,这里随便填了一个123456,就设置成功了,很神奇

您可能感兴趣的与本文相关的镜像

Llama Factory

Llama Factory

模型微调
LLama-Factory

LLaMA Factory 是一个简单易用且高效的大型语言模型(Large Language Model)训练与微调平台。通过 LLaMA Factory,可以在无需编写任何代码的前提下,在本地完成上百种预训练模型的微调

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值