Dify 1.2.0 升级攻略|手把手教你无痛更新不丢数据!

前言

先看升级的效果图图片

🚀 v1.2.0 有哪些新功能?🚀

图片

主要的两个关键点:
循环控制新突破
新增的「退出循环」功能!现在可以精确控制流程中断节点,让复杂对话场景更丝滑~
检索速度开挂
通过全新 ChildChunkApi 接口,可提升知识库检索速度!

写在前面

我在本地dify做了什么?

  • 拉取官方仓库 xx.git
  • 修改端口
  • 配置大模型(安装插件)
  • 创建知识库
  • 搭建应用
  • 有对话记录

如果你也有跟我一样的操作,想保留上述的修改操作,并升级到Dify最新版

可以直接按照教程【备份+升级+迁移】三步走,进行无痛升级

Step1.备份

先停止服务

docker compose down

备份你clone下来后,修改的文件

  • 比如.env中修改了端口,所以.env文件要备份
  • volumes文件夹保存的是你在Dify创建的知识库和应用等所有文件
cp docker-compose.yaml docker-compose.yaml.1.0.1
cp .env .env.1.0.1
tar -cvf volumes-1.0.1.tgz volumes

Step2.升级

拉取最新代码 & 启动新版本服务

git checkout main
git pull origin main
docker-compose up -d

图片启动成功即可访问最新Dify服务了

图片

Step3.迁移

笔者没有进行这步配置,好像也能访问插件。
如遇不能访问原插件,可进行以下步骤尝试。

3.1 进入 API 容器

找到dify-api的容器id: 7290d2e0b612

(base) PS D:\llm\workflow\dify> docker ps
CONTAINER ID   IMAGE                                       COMMAND                   CREATED          STATUS                    PORTS                                                  NAMES
056c0de62bb7   nginx:latest                                "sh -c 'cp /docker-e…"   14 minutes ago   Up 14 minutes             0.0.0.0:443->443/tcp, 80/tcp, 0.0.0.0:3001->3001/tcp   docker-nginx-1
7290d2e0b612   langgenius/dify-api:1.2.0                   "/bin/bash /entrypoi…"   14 minutes ago   Up 14 minutes             5001/tcp                                               docker-worker-1
94200c5e49e1   langgenius/dify-plugin-daemon:0.0.7-local   "/bin/bash -c /app/e…"   14 minutes ago   Up 14 minutes             0.0.0.0:5003->5003/tcp                                 docker-plugin_daemon-1
da5a9d35b9cb   ubuntu/squid:latest                         "sh -c 'cp /docker-e…"   14 minutes ago   Up 14 minutes             3128/tcp                                               docker-ssrf_proxy-1
82a1fdb560e6   semitechnologies/weaviate:1.19.0            "/bin/weaviate --hos…"   14 minutes ago   Up 14 minutes                                                                    docker-weaviate-1
54b4bfe92fd3   langgenius/dify-sandbox:0.2.11              "/main"                   14 minutes ago   Up 14 minutes (healthy)                                                          docker-sandbox-1
3d425fbef0ae   postgres:15-alpine                          "docker-entrypoint.s…"   14 minutes ago   Up 14 minutes (healthy)   5432/tcp                                               docker-db-1
e0defa02f478   langgenius/dify-web:1.2.0                   "/bin/sh ./entrypoin…"   14 minutes ago   Up 14 minutes             3000/tcp                                               docker-web-1
500d9028bfe1   redis:6-alpine                              "docker-entrypoint.s…"   14 minutes ago   Up 14 minutes (healthy)   6379/tcp                                               docker-redis-1

进入 API 容器

## 输完第一行,回车就进入第二行了
(base) PS D:\llm\workflow\dify> docker exec -it 7290d2e0b612 bash
root@7290d2e0b612:/app/api# 

3.2 插件迁移

此命令将提取当前环境中使用的所有模型和工具。
workers 参数将决定提取过程中的所使用的并行进程数,可根据需要进行调整。

root@7290d2e0b612:/app/api# poetry run flask extract-plugins --workers=10
2025-04-15 06:56:05.486 INFO [MainThread] [utils.py:162] - NumExpr defaulting to 16 threads.
Output file [plugins.jsonl]: 
Starting extract plugins.
Migrating models/tools to new plugin Mechanism
Total tenant count: 1
Current time: 2023-04-03 08:59:24, Started at: 2025-04-15 06:56:13.511402
Current time: 2023-04-04 08:59:24, Started at: 2025-04-15 06:56:13.520004 
...
[2025-04-15 06:56:15.033310] Processed 1 tenants (100.0%), 1/1
Extract plugins completed.

确保网络正常访问公网,并支持访问:https://marketplace.dify.ai,此命令将下载并安装所有必要的插件到最新的社区版本中。

root@7290d2e0b612:/app/api# poetry run flask install-plugins --workers=2
2025-04-15 06:56:30.911 INFO [MainThread] [utils.py:162] - NumExpr defaulting to 16 threads.
Input file [plugins.jsonl]: 
Output file [installed_plugins.jsonl]:
Starting install plugins.
2025-04-15 06:56:44.004 INFO [MainThread] [plugin_migration.py:304] - Extracting unique plugins from plugins.jsonl
100%|███████████████████████████████████████████████████████████| 2/2 [00:01<00:00,  1.43it/s]
2025-04-15 06:56:45.419 INFO [MainThread] [plugin_migration.py:342] - Installing 2 plugin instances for fake tenant f2f33b48214e4881b59516649216c386
2025-04-15 06:56:46.303 INFO [ThreadPoolExecutor-2_1] [_client.py:1038] - HTTP Request: GET https://marketplace.dify.ai/api/v1/plugins/download?unique_identifier=langgenius/siliconflow:0.0.9@d0bed72582f8945dba4bf0fb23e03a449e7319f7cb0056ce02bfc76ca3f08215 "HTTP/1.1 200 OK"
2025-04-15 06:56:46.318 INFO [ThreadPoolExecutor-2_0] [_client.py:1038] - HTTP Request: GET https://marketplace.dify.ai/api/v1/plugins/download?unique_identifier=langgenius/zhipuai:0.0.7@1ee8fe156cc3dffcd085d7fc5581395aecf667cfb548c8d621e505b8a160b619 "HTTP/1.1 200 OK"

2025-04-15 06:59:41.513 INFO [ThreadPoolExecutor-1_0] [plugin_migration.py:351] - Installing 2 plugins for tenant ae381127-1ad4-4df5-a0e7-b3850f8c74be
2025-04-15 06:59:41.558 INFO [MainThread] [plugin_migration.py:400] - Uninstall plugins
Install plugins completed.

最后迁移插件数据。运行以下命令更新

root@7290d2e0b612:/app/api# poetry run flask migrate-data-for-plugin
2025-04-15 07:04:16.579 INFO [MainThread] [utils.py:162] - NumExpr defaulting to 16 threads.
Starting migrate data for plugin.
Migrating [providers] data for plugin
Migrate [providers] data for plugin completed, total: 0
Migrating [provider_models] data for plugin
...
Migrate data for plugin completed.

启动成功即可访问带插件的最新Dify服务了图片

🌟 升级后必做checklist

  • 测试所有工作流节点
  • 抽查历史对话记录
  • 验证知识库检索速度
  • 检查第三方插件连接

最后的最后

感谢你们的阅读和喜欢,作为一位在一线互联网行业奋斗多年的老兵,我深知在这个瞬息万变的技术领域中,持续学习和进步的重要性。

为了帮助更多热爱技术、渴望成长的朋友,我特别整理了一份涵盖大模型领域的宝贵资料集。

这些资料不仅是我多年积累的心血结晶,也是我在行业一线实战经验的总结。

这些学习资料不仅深入浅出,而且非常实用,让大家系统而高效地掌握AI大模型的各个知识点。如果你愿意花时间沉下心来学习,相信它们一定能为你提供实质性的帮助。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

大模型知识脑图

为了成为更好的 AI大模型 开发者,这里为大家提供了总的路线图。它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
在这里插入图片描述

经典书籍阅读

阅读AI大模型经典书籍可以帮助读者提高技术水平,开拓视野,掌握核心技术,提高解决问题的能力,同时也可以借鉴他人的经验。对于想要深入学习AI大模型开发的读者来说,阅读经典书籍是非常有必要的。

在这里插入图片描述

实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

在这里插入图片描述

面试资料

我们学习AI大模型必然是想找到高薪的工作,下面这些面试题都是总结当前最新、最热、最高频的面试题,并且每道题都有详细的答案,面试前刷完这套面试题资料,小小offer,不在话下

在这里插入图片描述

640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

在这里插入图片描述

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

### Dify 知识库备份与迁移方法 对于Dify知识库的备份与迁移,主要分为两个部分:一是通过调整环境变量并利用`dify-api`中的工具完成向量数据库到Milvus的迁移;二是针对整个Docker容器的数据导出为tar格式文件来实现整体应用级别的迁移。 #### 向量数据库迁移到Milvus的具体做法如下: 修改配置文件内的环境变量设置,确保指向新的目标存储位置。之后借助于`dify-api`组件里集成的一个名为`vdb-migrate`的小程序来进行实际的数据转移工作[^1]。 ```bash # 修改环境变量示例 export MILVUS_HOST=new_host_address export MILVUS_PORT=port_number ``` 接着执行命令启动迁移过程: ```bash python vdb_migrate.py --source old_db_type --target milvus ``` 此方式适用于希望仅迁移特定类型的结构化数据(如索引或模型参数),而影响其他服务组件的情况。 #### Docker 容器级别全量备份方案则更为简单直接: 停止正在运行的服务实例后,可以很方便地把当前状态保存成一个压缩包形式的快照副本。这一步骤仅限于单一模块而是涵盖了所有关联资源的一次打包处理[^2]。 ```bash docker stop dify_container_name docker commit dify_container_name new_image_tag docker save -o /path/to/dify_backup.tar new_image_tag ``` 上述指令序列实现了从暂停指定名称下的容器进程开始,创建一个新的镜像标签用于标记此次快照时刻的状态变化,最后将其转换为目标路径上的`.tar`归档文件以便后续恢复或其他用途使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值