Dify 1.9.2 更新详解:更快、更稳定、更智能的版本升级指南
在最新发布的dify 1.9.2版本中,核心焦点是性能与稳定性提升、异步处理优化以及开发者体验改善。该版本不仅在内部架构和工作流控制方面进行了优化,还在可观测性、集成支持等多个环节进行了重要升级。以下是此次更新的详细解析与升级指南。
一、重要版本变更与注意事项
此次版本在与Weaviate的集成上进行了重大升级:
- • 将Weaviate Python 客户端从 v3 升级至 v4。
- • 要求 Weaviate 服务端最低版本需为1.24.0或更高。
- • 对于使用旧版本(如 1.19.0)的用户,必须先升级服务端至 1.24.0 及以上再升级 Dify,否则无法正常运行。
- • 新版客户端 API 支持gRPC,性能显著提升,但可能需要在Docker Compose中开放50051端口。
- • 升级过程中可能需要进行数据迁移与重新索引,建议使用Cursor API或标准的备份/恢复方式。
- • 官方文档将提供数据迁移及兼容性指导。
行动要求:
- 1. 升级 Weaviate 服务端至 v1.24.0 或更高版本。
- 2. 按最新官方文档执行数据迁移与 Docker 配置更新。
- 3. 确保运行环境满足新版本依赖要求再部署 Dify。
二、功能亮点
1. 工作流与智能代理
- • 支持对工作流图执行的暂停与恢复。
- • LLM 节点在流式输出过程中支持结构化输出。
- • 智能代理变量支持拖拽交互,类似工作流起始节点。
- • 工作流运行可按状态筛选,支持从日志中重新执行。
2. 集成与 SDK
- • 接入OpenTelemetry + HTTPX追踪,提升可观测性。
- •CORS配置支持自定义 HTTP 请求头。
3. Web 与前端
- • 常量文件支持拆分与懒加载,提升页面加载速度。
- • 数据源支持与插件市场集成及搜索过滤。
- • 定价底部新增税费提示工具。
- • 账号创建时界面语言与显示语言同步。
三、核心架构改进
- • 在多个模块启用Pyright并修复类型定义问题。
- • 精细化 HTTP 超时配置与输入验证逻辑。
- • Redis 队列优化,通过缓存检测与显式键清理提升性能。
- • 应用模型新增
updated_by和updated_at字段用于变更追踪。 - • 在非流式及单步运行中支持结构化输出。
四、缺陷修复
- • 修复数据块与数据集分页重复问题。
- • 修复工作流 token 使用、LLM 使用跟踪及用户会话异常。
- • 修复 Weaviate 向量距离计算错误与模块缺失问题。
- • 修复多认证凭据冲突。
- • 修复聊天闪烁、无限刷新、登录重定向、加载器显示等前端问题。
- • 加强外部知识 URL SSRF 安全验证。
- • 修复 LLM 输出变量描述缺失及变量截断逻辑。
- • 删除单文件时修复数据集反选问题。
- • 确保 JSON 序列化正确缩进与格式统一。
五、开发者体验与清理
- • 删除未使用的依赖、冗余数据库提交、未引用模板。
- • 添加Knip配置用于检测无用代码。
- • 改进 HTTPX 异步链路追踪。
六、升级指南
Docker Compose 部署
- 1. 备份自定义
docker-compose.yaml(可选):
.
cd dockercp docker-compose.yaml docker-compose.yaml.$(date +%s).bak
- 2. 更新代码:
.
git checkout maingit pull origin main
- 3. 停止服务:
.
docker compose down
- 4. 备份数据:
.
tar -cvf volumes-$(date +%s).tgz volumes
- 5. 升级服务:
.
docker compose up -d
源码部署
- 1. 停止 API、Worker 和 Web 服务端。
- 2. 更新代码:
.
git checkout 1.9.2
- 3. 更新 Python 依赖:
.
cd apiuv sync
- 4. 运行数据库迁移:
.
uv run flask db upgrade
- 5. 重启服务。
