Appearance
说明:当前文档升级内容为v2.3.1
升级到v2.4.2
版本升级
升级提示:在开始“版本升级”之前,我们强烈建议您在技术部门同事的指导下进行版本升级。 由于安装过程可能涉及到复杂的配置和系统环境要求,专业指导可以帮助您避免潜在的技术问题,确保升级过程顺利进行。 如果您有任何疑问或需要帮助,请随时联系我们的技术支持团队。
整个升级过程分别以下三步:
- 备份数据
- 升级
- 服务回退
1.备份数据
我们强烈建议以下两种备份数据方式都执行。
1.1 虚拟机快照备份
不同的虚拟机软件,使用快照功能不一样,以 vmware 为例,如下图所示,进行快照备份。
1.2 数据卷备份:
- 在没有变更挂卷目录的情况下,只需要执行
cp -r /home/chatbot /home/chatbot_back_2.3.1
进行备份即可 - 已经变更挂卷目录的情况下,需要将所有的卷目录进行备份。例如:Mysql 的挂卷目录变更为:
/var/lib/data/mysql
, 则需要执行命令:cp -r /var/lib/data/mysql /var/lib/data/mysql_back_2.3.1
1.3 docker-compose 文件备份
执行cp docker-compose.yaml docker-compose-v2.3.1.yaml.back
备份当前文件
2. 升级
2.1 升级所需资源
在升级之前,需要确保服务器上的可用资源足够。以下是升级所需的资源
可用cpu >=4C memory>=8G 可选:GPU>=8G
剩余磁盘空间>40G
2.2 下载更新所需的文件
下载所需的 docker-compose.yaml 文件以及升级的 sql 文件
wget http://nbagent.ai/api/docs/v2.3.1-v2.4.2-upgrade.sql
2.3 更新数据库
更新 Mysql 服务可以通过多种方式进行更新,以下介绍两种常用的方式进行数据库的更新。
可以通过 Mysql 管理工具如
HeiDiSQL
等软件,连接 Mysql,通过导入v2.3.1-v2.4.2-upgrade.sql
脚本,执行升级。如下图所示,通过HeiDiSQL
软件升级的图片:也可以通过容器方式执行升级,以下是通过容器升级方式加载 sql 语句升级。
bash# 1.copy 升级脚本到 mysql 容器中 docker cp v2.3.1-v2.4.2-upgrade.sql mysql:/ #2. 进入到容器中 docker exec -it mysql bash #3.设置本次的字符串,并进入到 mysql 命令行中 echo "export LANG='C.UTF-8'" >> ~/.bashrc ; bash ;echo $LANG mysql -uroot -pyourchatbotpassword #4.在命令行中执行 source /v2.3.1-v2.4.2-upgrade.sql
当脚本执行全部都 ok,即可说明本次 Mysql 的数据库层面已经升级成功。
2.4 更新服务配置
通过下载最新版本的 docker-compose 文件,对比两个 docker-compose 文件的内容,从而手动修改,进行更新。通过下面的命令下载最新版本的 docker-compose 文件。
wget http://nbagent.ai/api/docs/docker-compose-v2.4.2.yaml
也可以直接按下面的方式更新 docker-compose.yaml 文件,以下是各个服务更新的具体内容。
chatbot-server 服务
更新镜像到v2.4.2版本,同时增加环境变量和挂卷信息,具体内容如下:
yamlimage: registry.cn-shenzhen.aliyuncs.com/nb-agent/chatbot-server:v2.4.2-community environment: # 新增以下环境变量 - CHROMADB_PATH=/data/chromadb # 训练数据存储目录 volumes: # 新增以下卷 - /home/chatbot/chatbot-agent/chromadb:/data/chromadb # 训练数据挂卷目录
chatbot-agent 服务
更新镜像到 v2.4.2版本,增加可配置向量模型。
yamlimage: registry.cn-shenzhen.aliyuncs.com/nb-agent/agent:v2.4.2-community environment: # 增加下列环境变量 RAG_TYPE: "azure" # 向量模型类别 RAG_BASE_URL: "" # 向量模型地址 RAG_API_KEY: "" # 向量模型访问秘钥 CHATBOT_KEY: "3kuuVcM0CUC1hpnq" # 第三方访问chatbot-server的key CHATBOT_SERVER_OUT: "http://{your_ip_or_host}:5000" # chatbot-server外部调用地址
配置向量检索模型时,需要优先配置模型类别
RAG_TYPE
,其枚举值有以下几个:azure
、openai
、ollama
、dashscope
、huggingface
.以下是两种配置方式供参考:- 全部配置
yamlRAG_TYPE: "ollama" # 向量模型类别 RAG_BASE_URL: "https://10.10.4.10:14477" # 向量模型地址 RAG_API_KEY: "498908878a53fb5c9c5f94f6" # 向量模型访问秘钥 OPEN_AI_TEXT_EMBEDDING_MODEL_ID: "mxbai-embed-large" # 向量模型型号
- 缺省
RAG_BASE_URL
和RAG_API_KEY
的配置。
yamlRAG_TYPE: "azure" # 向量模型类别 AZURE_OPENAI_API_VERSION: "" # 模型版本,该参数azure的语言模型已经有 AZURE_OPEN_AI_TEXT_EMBEDDING_DEPLOYMENT_NAME: "mxbai-embed-large" # 向量模型型号
解释:
RAG_TYPE
为azure
,缺省配置RAG_BASE_URL
和RAG_API_KEY
时,将会自动取AZURE_OPENAI_ENDPOINT
和AZURE_OPENAI_API_KEY
的值RAG_TYPE
为其它类型时,缺省配置RAG_BASE_URL
和RAG_API_KEY
时,将会自动取OPENAI_BASE_URL
和OPENAI_API_KEY
的值chatbot-web服务更新
更新镜像到 v2.4.2版本,增加mockserver可配置地址:
yamlimage: registry.cn-shenzhen.aliyuncs.com/nb-agent/chatbot-ui:v2.4.2 NEXT_PUBLIC_SERVER_URL: "http://{your_ip_or_host}:5000" # mock服务地址,此处填写chatbot-server地址
pageplug服务更新
更新镜像到 v2.4.2版本:
yamlimage: registry.cn-shenzhen.aliyuncs.com/nb-agent/pageplug-ee:chatbot_202412251048
mysql服务更新
本地更新,无需更新镜像,主要是将mysql的配置文件my.cnf挂载出来。具体操作步骤如下:
- 从容器中copy my.cnf 文件到挂在目录
bashmkdir -p /home/chatbot/mysql_conf # 创建挂载目录 # 注意此处的mysql配置文件可能是my.cnf也有可能是mysql.conf # docker cp mysql:/etc/mysql/conf.d/my.cnf /home/chatbot/mysql_conf/my.cnf docker cp mysql:/etc/mysql/conf.d/mysql.cnf /home/chatbot/mysql_conf/mysql.cnf cd /home/chatbot/mysql_conf chmod 644 my.cnf
- 更新yaml文件,
yamlvolumes: - /home/chatbot/mysql:/var/lib/mysql # 增加配置文件的挂卷 # - /home/chatbot/mysql_conf/my.cnf:/etc/mysql/conf.d/my.cnf - /home/chatbot/mysql_conf/mysql.cnf:/etc/mysql/conf.d/mysql.cnf environment: MYSQL_ROOT_PASSWORD: "yourchatbotpassword" MYSQL_INITDB_CHARSET: "utf8mb4" MYSQL_INITDB_COLLATE: "utf8mb4_unicode_ci"
4. 启动并更新服务
在 docker-compose.yaml 文件所在目录,使用以下命令启动所有服务 注意mysql的更新,需要先停止
docker rm -f mysql
docker-compose up -d
5. 访问服务
5.1 打开浏览器:首先,请确保您的计算机已经连接到互联网。
5.2 输入地址:在浏览器的地址栏中输入以下格式的网址来访问服务:
http://{ip地址或者域名}:{chatbot-web的监听端口}
例如,如果您的服务器IP地址是 10.10.0.4,并且服务监听在端口3000上,那么您应该输入:
http://10.10.0.4:3000
5.3 登录:在服务页面上,您将看到一个登录界面。请使用以下默认账号和密码进行登录:
账号:chatbot
密码:yourchatbotpassword
请确保在输入 IP 地址、域名和端口时保持准确无误。 如果遇到无法访问的情况,请检查网络连接,并确认服务器是否已经启动且监听在正确的端口上。 如果问题依旧,请尝试重启服务或联系技术支持获取帮助。
服务回退
如遇到不可抗拒等因素,导致当前升级失败,可执行服务回退操作。
使用快照恢复旧版本服务。
停止相应的服务,执行数据恢复,然后重新恢复服务:
bash# 停止服务 docker-compose down # 将备份数据恢复 cp -r /home/chatbot_back_2.3.1 /home/chatbot cp docker-compose-v2.3.1.yaml.back docker-compose.yaml # 重新启动服务 docker-compose up -d