Appearance
说明:当前文档升级内容为v2.5.1
升级到v2.6.0
版本升级
升级提示:在开始“版本升级”之前,我们强烈建议您在技术部门同事的指导下进行版本升级。 由于安装过程可能涉及到复杂的配置和系统环境要求,专业指导可以帮助您避免潜在的技术问题,确保升级过程顺利进行。 如果您有任何疑问或需要帮助,请随时联系我们的技术支持团队。
整个升级过程分别以下三步:
- 备份数据
- 升级
- 服务回退
1.备份数据
我们强烈建议以下两种备份数据方式都执行。
1.1 虚拟机快照备份
不同的虚拟机软件,使用快照功能不一样,以 vmware 为例,如下图所示,进行快照备份。
1.2 数据卷备份:
- 在没有变更挂卷目录的情况下,只需要执行
cp -r /home/chatbot /home/chatbot_back_2.5.1
进行备份即可 - 已经变更挂卷目录的情况下,需要将所有的卷目录进行备份。例如:Mysql 的挂卷目录变更为:
/var/lib/data/mysql
, 则需要执行命令:cp -r /var/lib/data/mysql /var/lib/data/mysql_back_2.5.1
1.3 docker-compose 文件备份
执行cp docker-compose.yaml docker-compose-v2.5.1.yaml.back
备份当前文件
2. 升级
2.1 升级所需资源
在升级之前,需要确保服务器上的可用资源足够。以下是升级所需的资源
可用cpu >=4C memory>=8G
剩余磁盘空间>20G
2.2 下载更新所需的文件
下载所需的 docker-compose.yaml 文件以及升级的 sql 文件
wget http://nbagent.ai/api/docs/v2.5.1-v2.6.0-upgrade.sql
2.3 更新数据库
更新 Mysql 服务可以通过多种方式进行更新,以下介绍两种常用的方式进行数据库的更新。
可以通过 Mysql 管理工具如
HeiDiSQL
等软件,连接 Mysql,通过导入v2.5.1-v2.6.0-upgrade.sql
脚本,执行升级。如下图所示,通过HeiDiSQL
软件升级的图片:也可以通过容器方式执行升级,以下是通过容器升级方式加载 sql 语句升级。
bash# 1.copy 升级脚本到 mysql 容器中 docker cp v2.5.1-v2.6.0-upgrade.sql mysql:/ #2. 进入到容器中 docker exec -it mysql bash #3.设置本次的字符串,并进入到 mysql 命令行中。如果mysql容器本身是utf-8格式则无需设置 echo "export LANG='C.UTF-8'" >> ~/.bashrc ; bash ;echo $LANG mysql -uroot -pyourchatbotpassword #4.在命令行中执行 source /v2.5.1-v2.6.0-upgrade.sql
当脚本执行全部都 ok,即可说明本次 Mysql 的数据库层面已经升级成功。
2.4 更新服务配置
通过下载最新版本的 docker-compose 文件,对比两个 docker-compose 文件的内容,从而手动修改,进行更新。通过下面的命令下载最新版本的 docker-compose 文件。
wget http://nbagent.ai/api/docs/docker-compose-v2.6.0.yaml
[下载http://nbagent.ai/api/docs/docker-compose-v2.6.0.yaml]也可以直接按下面的方式更新 docker-compose.yaml 文件,以下是各个服务更新的具体内容。
chatbot-server 服务
SECRET_KEY: chatbot-server,NebulaAIflow【环境变量LANGFLOW_NBAI_SECRET_KEY】以及pageplug【环境变量PAGEPLUG_CHATBOT_BASE64_ENCODED_SECRET_KEY】公用. 如果修改者个值,这三个服务一起修改。
更新镜像到v2.6.0版本,同时增加环境变量和挂卷信息,具体内容如下:
- FLOW_HOST: NebulaAIflow[工作流服务]地址
ACCESS_TOKEN_EXPIRE_MINUTES: 自定义token过期时间,单位分钟
yamlimage: registry.cn-shenzhen.aliyuncs.com/nb-agent/chatbot-server:v2.6.0-community environment: # 新增以下环境变量 - FLOW_HOST=http://10.4.0.4:7860 # 工作流服务的地址 - ACCESS_TOKEN_EXPIRE_MINUTES=240 # 自定义token过期时间,单位分钟. 推荐120-240
chatbot-agent 服务
更新镜像到 v2.6.0版本,增加环境变量 NebulaAIflow[工作流服务]地址。
yamlimage: registry.cn-shenzhen.aliyuncs.com/nb-agent/chatbot-agent:v2.6.0-community environment: # 增加下列环境变量 FLOW_HOST: "http://10.10.13.166:7860" # 工作流服务的访问地址
chatbot-web服务更新
更新镜像到 v2.6.0版本,增加工作流、pageplug的可配置地址:
yamlimage: registry.cn-shenzhen.aliyuncs.com/nb-agent/chatbot-ui:v2.6.0 environment: # 新增以下环境变量 NEXT_PUBLIC_WORKFLOW_URL: "http://10.10.13.166:7860" # 工作流服务地址 NEXT_PUBLIC_PAGEPLUG_URL: "http://10.10.13.166:30080" # 支持pageplug使用其他域名访问
新增服务增加NebulaAIflow服务和postgres服务
yamlnebula-ai-flow: container_name: nebula-ai-flow image: registry.cn-shenzhen.aliyuncs.com/nb-agent/nebulaai-flow:v1.3.2-20250522185026 privileged: true ports: - "7860:7860" depends_on: - postgres environment: - LANGFLOW_DATABASE_URL=postgresql://nebulaai:Nebuxxl^T11@postgres:5432/nebulaai - LANGFLOW_AUTO_LOGIN=true - LANGFLOW_SECRET_KEY=iaTca1Z-j2laYLkfbGCyGjIVYlQusIqWrvvJgaNGJDE - LANGFLOW_NEW_USER_IS_ACTIVE=True - LANGFLOW_NBAI_SECRET_KEY=8hW691DzKSHrEG222qYCv1m4rcHRQRbqr4KlaFkjZa0c1 # 该值与chatbot-server的SECRET_KEY的值一致。 - LANGFLOW_WORKERS=3 - LANGFLOW_LOG_LEVEL=INFO - LANGFLOW_LOG_ENV=container_csv volumes: - /home/chatbot/langflow-data:/app/langflow postgres: container_name: postgres image: registry.cn-shenzhen.aliyuncs.com/nb-agent/postgres:15.10-bullseye privileged: true environment: POSTGRES_USER: nebulaai POSTGRES_PASSWORD: Nebuxxl^T11 POSTGRES_DB: nebulaai ports: - "15432:5432" volumes: - /home/chatbot/langflow-postgres:/var/lib/postgresql/data
4. 启动并更新服务
在 docker-compose.yaml 文件所在目录,使用以下命令启动所有服务
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 地址、域名和端口时保持准确无误。 如果遇到无法访问的情况,请检查网络连接,并确认服务器是否已经启动且监听在正确的端口上。 如果问题依旧,请尝试重启服务或联系技术支持获取帮助。
6. 配置模型和相关初始数据
服务启动后,对话功能、知识库等功能暂时是不可使用的,需要配置模型才可以使用。如果已经配置了模型,则本次升级完成。 未配置模型下面方式进行配置, 配置完成后本次升级完成。
6.1 配置语言模型和向量模型等
登录后,在模型管理页面,点击模型接入,例如选择大语言模型,接口类型选择Generic OpenAI,其中api访问地址以及API-key,不同平台的地址均不一样。更为详细的配置,请参考【模型管理】 章节。
下面以线上阿里云百炼官网、Deepseek官网以及Ollama本地部署的模型进行配置讲解:
右上角是申请的API-key。点击进入创建自己的apikey, 选择任何一个模型,点击api调用示例:
如下图所示:找到模型名称,以及openai的调用示例中复制其调用地址。全部复制,包括域名和/v1. 将模型名称、apikey和调用地址填入即可。
Deepseek配置。访问官方文档:https://api-docs.deepseek.com/zh-cn/
依次点击
快速开始-->首次调用API
,如下图所示:申请apikey、查看openai的调用地址以及模型名称。注意:Deepseek-R1模型不支持函数调用,将会影响知识库、数据库、插件、工作流的使用。请使用Deepseek-v3模型,且版本必须是2025-03-24以上版本。
ollama的配置。
模型名称:可通过
ollama list
命令查看,docker部署的可以通过sudo docker exec ollama ollama list
如下图所示:大语言模型:
api key如果没有配置则填写任意值。
调用地址:填写http://ollmahost:port/v1, 例如ollama所在的ip为10.10.10.6,端口为11434,则调用地址填写:http://10.10.10.6:11434/v1
Embedding (向量)模型:
api key如果没有配置则填写任意值。
调用地址:填写http://ollmahost:port, 例如ollama所在的ip为10.10.10.6,端口为11434,则调用地址填写:http://10.10.10.6:11434. 注意大语言模型需要带上/v1,但是Embedding 模型不要带
配置已完成后就可能正常使用了。
服务回退
如遇到不可抗拒等因素,导致当前升级失败,可执行服务回退操作。
使用快照恢复旧版本服务。
停止相应的服务,执行数据恢复,然后重新恢复服务:
bash# 停止服务 docker-compose down # 将备份数据恢复 cp -r /home/chatbot_back_2.5.1 /home/chatbot cp docker-compose-v2.5.1.yaml.back docker-compose.yaml # 重新启动服务 docker-compose up -d