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

news/发布时间2024/5/5 11:28:50

系统配置


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

下载相关文件


首先下载源码,下载完成后解压得到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文件夹中

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

修改mysql容器启动的端口


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

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

sudo vim docker-compose-linux.yaml 

单、双显卡启动


单显卡:

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就好

启动过程中的问题见下面

后续如果需要停止服务:

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

再次启动服务:

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

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


问题一: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查看并解决

运行结果


参考


安装新版的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)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ulsteruni.cn/article/78063208.html

如若内容造成侵权/违法违规/事实不符,请联系编程大学网进行投诉反馈email:xxxxxxxx@qq.com,一经查实,立即删除!

相关文章

03-支付服务

1. 交易流程 下面我们来看下基础服务组件中的交易模块,我们已完成结算功能,如图所示,在结算这个模块中我们都会进入到一个子流程【交易流程】:对于交易,大家应该都知道,就是买东西付款,卖东西收款,在任何一个盈利的系统中,都离不开交易模块,下图是一个扫码支付的粗略…

读天才与算法:人脑与AI的数学思维笔记03_AlphaGo

读天才与算法:人脑与AI的数学思维笔记03_AlphaGo1. 国际象棋 1.1. 1997年计算机“深蓝”(Deep Blue)击败了顶尖国际象棋手,但机器取代数学研究机构还言之尚早 1.2. 下国际象棋与数学的形式化证明颇有相似之处,但学者认为中国围棋的思维方式更能够体现数学家思考的创造性和…

框架图与动机结构化与可重定目标代码生成

框架图与动机结构化与可重定目标代码生成 用于数值计算的代码生成方法传统上侧重于优化循环嵌套的性能。相关分析侧重于标量元素,因为循环嵌套的主体通常计算单个元素。这样的分析必须考虑内存依赖性与混叠。这些方法在过去进行了深入研究,并已达到高度成熟。当从像C或Fortra…

MVCC

多版本并发控制,多个事物并发的情况下到底该访问哪个版本你解释一下MVCC?mvcc的意思是多版本并发控制。指维护一个数据的多个版本,使得读写操作没有冲突, 它的底层实现主要是依赖了数据库中的三个部分,隐藏字段,undo log日志和readView读视图 隐藏字段是指:在mysql中给每…

NGINX Ingress Controller 设置未配置过的域名增加默认路由

背景 k8s 集群对应的公网 slb ip 经常被人绑定域名,监控侧经常会收集到 502 相关状态码的异常告警,着手处理这种bad case策略 1. 所有没有在ingress 配置过的域名要进行处理,即不是公司的、非法绑定到slb 上的域名要加上一条策略 2. NGINX Ingress Controller 设置未配置过…