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

  • 测试所有工作流节点

  • 抽查历史对话记录

  • 验证知识库检索速度

  • 检查第三方插件连接

<think>好的,用户需要关于Dify升级程。首先,我要检查已有的引用内容,看看是否有相关的信息。引用[1]提到了Dify升级指南,并且是系列程的一部分,可能包含详细步骤。引用[2]提供了从0.15.3升级1.1.0的指南,包括代码拉取和分支切换的指令。 用户可能希望了解具体的升级步骤,包括准备工作和操作流程。需要确保步骤清晰,避免遗漏关键点,比如备份数据更新代码库、解决依赖冲突等。此外,用户可能关心升级后的验证和常见问题处理,所以应该包含这些内容。 还要注意使用中文回答,结构要条理分明,分步骤说明。同时,根据系统级指令,数学表达式要用$...$,但这里可能用上。过需要确保代码块格式正确,比如git命令部分使用代码块。 需要确认引用标记是否正确添加,例如在备份数据部分引用[1],在代码拉取部分引用[2]。最后生成相关问题,帮助用户进一步探索可能的需求,比如升级失败处理或回滚方法。</think>关于Dify升级程,根据站内资料整理如下分步指南: ### 一、升级前准备 1. **备份数据** - 停止Dify服务:`docker-compose down` - 备份数据库:`docker exec -it dify-postgres pg_dump -U dify > dify_backup.sql`[^1] - 备份配置文件:复制`.env`和`docker-compose.yml`到安全位置 2. **更新代码库** ```bash # 进入项目目录 cd dify # 拉取最新代码(注意分支对应关系) git checkout main git pull origin main[^2] ``` ### 二、执行升级操作 1. **更新依赖** ```bash # 更新镜像 docker-compose pull # 重建服务 docker-compose up -d --build ``` 2. **数据库迁移** ```bash # 自动执行数据库迁移 docker exec -it dify-api python manage.py migrate ``` ### 三、验证升级 1. **版本确认** ```bash docker exec -it dify-api cat /app/VERSION ``` 2. **功能检查** - 登录控制台验证知识库管理功能 - 测试智能体创建工作流 - 检查插件系统兼容性 ### 四、常见问题处理 1. **依赖冲突** - 若出现Python包冲突,执行: ```bash docker exec -it dify-api pip install -r requirements.txt --upgrade ``` 2. **回滚方案** - 恢复备份的数据库 - 切换回旧版本代码分支 - 重新构建旧版本镜像
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

华尔街的幻觉

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值