先看升级的效果图
🚀 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
-
测试所有工作流节点
-
抽查历史对话记录
-
验证知识库检索速度
-
检查第三方插件连接