自从年前将 Dify 升级到 0.15.3 版本后,我就一直没再更新。不过,我始终密切关注着各个新版本的发布动态,尤其是 1.0.0 版本出现的各种问题。
最近几天,Dify 1.0.1 正式发布,带来了知识库元数据等一系列令人惊喜的新功能(具体升级内容可以浏览 Dify 官网查看)。而在短短几天内,Dify 又相继更新到了 1.1.0、1.1.1,当我刚刚浏览官网时,发现居然已经悄悄发布了 v1.1.2。这让我再也按捺不住,迫不及待地想要升级到最新版本了。
所以,这篇文章就此诞生。不多说,直接上干货!
如果你是小白,刷到这篇文章,我建议您可以了解下dify是什么,然后跟着下面的教程就能轻松地完成dify私有化部署(比起版本升级更省事)。
Dify官网:dify.ai/ GitHub地址:github.com/langgenius/…
版本备份
第一步:备份应用
进入dify工作室页面,将重要的应用导出DSL,确保升级万无一失,这一步会被绝大多数人忽略。抛开版本升级不说,在平时最好也养成定时备份的习惯,尤其是团队协作的场景下。
第二步:备份docker-compose.yml
进入 Dify 项目路径下的 docker
文件夹,备份 docker-compose.yaml文件,这个文件包含了服务编排配置信息。
cd dockercp docker-compose.yaml docker-compose.yaml.0.15.3.bak
第三步:备份环境变量文件.env
.env文件包含了中间件、服务的核心配置变量。
cp .env .env_0.15.3.bak
第四步:停服&备份数据卷
使用docker-compose部署的dify,数据卷默认指向volumes目录,备份数据卷可以避免业务数据丢失或者升级导致的业务数据异常问题。
docker compose downtar -cvf volumes-0.15.3.tgz volumes
版本升级
上面,我已经完成了0.15.3版本备份,接下来开始升级新版本
第一步: 拉取最新代码
在 Dify 项目路径下,运行以下命令来拉取最新的代码。
git checkout maingit pull
第二步:环境变量配置(重要!)
这一步极其重要!尤其是版本跨度比较大的情况下,环境变量也有一些调整,这也是上面为什么要写备份.env环境变量的原因。这几天在Dify的社区微信群里看到不少道友都在反馈升级新版本遇到的问题,总结下来绝大多数原因都是因为忽略了这一步。
cp .env.example .env
第三步:启动新版本
环境变量更新之后,运行以下命令来启动新版本的服务:
docker compose up -d
Docker Compose 会自动下载dify最新的镜像,然后启动服务。注意,这一步需要花费的时间可能相对较长,请耐心等待!
第四步:检查服务状态
通过以下命令查看服务是否正常启动:
docker compose ps
ok,新版本服务启动成功!
新版本踩坑
前面升级还比较顺利,三下五除二就完成了,于是乎我迫不及待地打开浏览器访问dify控制台,打开工作室,之前编排的应用还在。
接着我准备预览测试下之前编排的应用,这时页面突然飞来了一个异常弹框!!!好在升级前我以经浏览了最近几个新版本升级日志,所以一点不慌!
插件安装
由于工具插件以及模型供应商从1.0.0版本开始都插件化了,所以我们需要按需安装相应的插件,安装完成之后,之前配置的大模型仍然存在。新版本页面中增加插件功能项,点击安装插件,可支持三种安装方式,点击Marktplace,可以看到插件的类型目前有四种,可以按需一键安装,另外也可使用离线安装的方式(更推荐离线本地插件方式)。
本地插件安装(离线方式)
离线插件下载:访问Dify市场,下载插件离线文件,如下 本地插件安装:插件安装选择本地插件,
同理,按照离线的方式,把上一版本有用到的模型供应商插件都装好,然后再打开设置界面,查看模型供应商详情。可以看到,之前配置的信息全都还在。
应用测试
前面可以看到,插件安装完成之后,之前的大模型配置信息都还在。再测试下前面分享过的两个简单应用吧,经过测试证明,版本升级成功!
无需一行代码:基于Dify+ Mermaid构建「自然语言转图表」智能体的全流程解析
总结
希望这篇文章能为你顺利升级到 Dify 1.1.2 提供帮助,让你充分体验新版本带来的全新功能与惊喜!如果你在升级过程中遇到任何问题,欢迎在评论区留言,我们一起探讨解决方法。
下一期,我将结合实际场景,深入讲解 Dify 1.1.2 中的新功能,比如知识库元数据、Agent 组件策略等的使用方法和技巧。敬请期待,我们下期见!