Ubuntu部署有道QAnything(中间涉及到更换mysql容器端口)

1、系统配置


版本:Ubuntu 20.04
有两块3090的显卡

2、下载相关文件


首先下载源码,下载完成后解压得到QAnything-master文件夹
github下载地址:https://github.com/netease-youdao/qanything
gitee下载地址:https://gitee.com/netease-youdao/QAnything?_from=gitee_search

下载embedding模型:https://modelscope.cn/models/netease-youdao/QAnything/file/view/master/models.zip
解压得到models文件夹,将这个文件夹放到QAnything-master目录下

下载通义千问大模型:https://www.modelscope.cn/models/netease-youdao/Qwen-7B-QAnything/files
下载后解压得到Qwen-7B-QAnything文件夹
Qwen-7B-QAnything放到QAnything-master文件夹的assets/custom_models路径下

上面的文件都比较大,需要下很长时间

进入QAnything-master文件夹根目录中

3、docker镜像下载


查看需要用到的docker镜像:

grep image: docker-compose-linux.yaml 

将这些镜像拉取下来:

docker pull docker.elastic.co/elasticsearch/elasticsearch:8.11.4
docker pull quay.io/coreos/etcd:v3.5.5
docker pull minio/minio:RELEASE.2023-03-20T20-16-18Z
docker pull milvusdb/milvus:v2.3.4
docker pull mysql
docker pull freeren/qanything:v1.2.2

4、修改mysql容器启动的端口


由于我之前在这台服务器上运行了一个mysql容器,所以3306端口就不能用了,我这里将新的mysql容器启动端口改为3307

修改docker-compose-linux.yaml文件:

sudo vim docker-compose-linux.yaml 

5、单、双显卡启动


单显卡:

sudo bash ./run.sh -c local -i 0 -b hf -m Qwen-7B-QAnything -t qwen-7b-qanything

双显卡:

sudo bash ./run.sh -c local -i 0,1 -b hf -m Qwen-7B-QAnything -t qwen-7b-qanything

大模型B数选择7B,有的后面可能会提示不支持,此时就改成小点的

ip选择local就好

启动过程中的问题见下面

后续如果需要停止服务:
先Ctrl + C退出

docker-compose -p user -f docker-compose-linux.yaml stop

再次启动服务:

docker-compose -p user -f docker-compose-linux.yaml start

6、启动过程中可能出现的问题


问题一:The Compose file './docker-compose-linux.yaml' is invalid because

这个就是docker-compose版本的问题
离线安装一个存在的高版本:https://github.com/docker/compose/releases/

sudo curl -L "https://github.com/docker/compose/releases/download/v2.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

我下载的是2.24.1版本

添加可执行权限

chmod +x /usr/local/bin/docker-compose

验证:

docker-compose -v

问题二:Error response from daemon: could not select device driver "nvidia" with capabilities: [[gpu]]

需要保证docker可以调用宿主机的gpu

sudo apt install nvidia-container-toolkit
sudo apt install nvidia-container-runtime

重启docker

sudo systemctl restart docker

问题三:启动后端服务超时,请检查日志文件

根据它的提示查看了logs/debug_logs/sanic_api.log文件:

说一下,这个问题是我”自作聪明“,把源码中的3306都改成了3307哈哈,实际上就是按照我上面说的改docker-compose-linux.yaml文件就可以了

这就是我部署过程中遇到的问题了,其他的问题大家可以去看QAnything-master文件夹下的FAQ_zh.md文件以及Github的issue查看并解决

7、运行结果


参考


安装新版的QAnything(支持双显卡运行)搭建智能客服系统
Qanything 部署的三个拦路虎问题及相应解决方案。
Linux安装docker-compose的2种方式
解决关于Docker运行容器使用GPU资源时的异常:could not select device driver ““ with capabilities: [[gpu]]
Docker - 解决could not select device driver...gpu问题(安装nvidia-container-runtime)

posted @ 2024-04-18 11:15  junlin623  阅读(655)  评论(0编辑  收藏  举报