来源:互联网 更新时间:2026-07-24 13:42
从Docker到源码部署,一文掌握Dify 1.6.0升级1.9.1全流程,避开关键陷阱。
核心内容:

重要提示
升级后,您必须运行以下迁移来转换现有数据源凭据。此步骤是确保与新版本兼容性所必需的:
uv run flask transform-datasource-credentials
cd docker
cp docker-compose.yaml docker-compose.yaml.$(date +%s).bak
git checkout 1.9.1
git pull origin 1.9.1
docker compose down
如图:
tar -cvf volumes-$(date +%s).tgz volumes
docker compose up -d
如图:
docker exec -it docker-api-1 uv run flask transform-datasource-credentials
git checkout 1.9.1
cd api
uv sync
uv run flask db upgrade
uv run flask transform-datasource-credentials
重要提示:如果您当前使用的是 v2.0.0 - beta.1 或 v2.0.0 - beta.2 版本,您必须运行以下迁移脚本来升级。
[警告] 这是一个破坏性操作,将导致数据丢失。
此迁移脚本将永久删除以下数据:所有现有知识管道、所有相关数据集凭据。请在继续之前确保您已备份所有必要信息。
运行到LLM节点报错,升级后的迭代器输出格式有变化。
"Invalid Context structure"(无效上下文结构)错误之所以会发生,是因为LLM节点期望它的输入上下文要么是一个字符串,要么是一个对象数组,而且每个对象都必须包含一个带有字符串的content键。如果你的代码执行节点返回的对象数组没有content键,或者结构不同,LLM节点就会拒绝它并抛出这个错误。当上下文是一个数组时,Dify会把所有的content字段拼接成一个字符串,然后交给LLM模型处理。
要解决这个问题,请确保你的代码执行节点输出一个像这样的数组:
[
{"content": "First message"},
{"content": "Second message"}
]
如果你的对象还有其他字段,你需要对它们进行转换或序列化,让每个对象都包含一个content键,里面放着你希望LLM处理的文本。直接传递没有这种结构的原始对象数组肯定会触发错误。你可以在Dify的LLM节点实现中看到这个验证和错误处理逻辑。
从GitHub的关于Dify Issue中发现:
迭代节点中断性变更 ·问题 #26630 ·朗天才/DIFY
代码节点输出中的这种变化(从对象的平面数组到对象数组的数组)是在Dify 1.9.1中引入的,这是由于工作流引擎中的重构和新的并行模式支持。节点现在将每个并行作业的输出收集到有序列表中,因此如果每个作业返回一个数组/对象,则结果是嵌套数组。没有代码在并行执行后合并或展平这些数组;这现在是并行模式源中的默认行为。
没有关于此重大更改的官方文档或迁移说明警告。如果您的工作流需要平面数组,您可以手动平展下游代码节点中的输出作为解决方法。例如,在Python中:
# If output is an array of arrays of objects
flat = [item for sublist in output for item in sublist]
相关问题和PR以获取更多背景信息:
如果需要以前的行为,则需要更新工作流以展平输出,直到发布官方修补程序或选项。请密切关注未来的版本以获取任何更新。
在【迭代器】与【LLM节点】之间增加【代码执行处理】,把迭代器输出的数组嵌套数组的结果扁平化处理,处理好后统一合并给LLM节点。
脚本代码:
from typing import List
def main(output: List[List[str]]):
flattened = [item for sublist in output for item in sublist]
return {
"result": " ".join(flattened)
}
七麦数据官网网页地址 七麦数据官方入口在线首页
问卷星官方网站入口地址 问卷星网页版在线使用
PokePay加密卡2026完整指南:申请开卡全攻略+多场景应用技巧
币安Binance官方中文网站 币安App最新版下载及新手注册指南
闲鱼的严选验货在哪里看?闲鱼严选和验货宝哪个可靠
为何比特币BTC价格跌破7.3万美元?一文拆解影响近期比特币行情的五大原因
摩托车活塞环性能如何
豆包AI专业版使用教程【新手必看】
ThinkBook系列最新价格全解析:2026年选购避坑与实时询价指南
迷你网名古风男生霸气(精选100个)
币圈十大实用工具:从实时行情监控到数据分析、资产管理
文雅简易网名男生可爱(精选100个)
GPT5.6惨遭切脑,Fable 5回归要变弱鸡版?
芝麻开门Gate.io官方网址入口 芝麻开门交易所新手账户注册流程
王者荣耀「西行封妖记」【孙权-仙扇使者】6月25日上线!
闲鱼严选和验货宝哪个可靠?闲鱼的验货宝怎么样,,
币安杀入美股市场,重头戏bStocks还没来
精准天气预报APP推荐:支持分钟级降雨预测与实时分享功能
陈姓和杨姓网名大全男生(精选100个)
网名开头英文名字男生(精选100个)
手机号码测吉凶
本站所有软件,都由网友上传,如有侵犯你的版权,请发邮件haolingcc@hotmail.com 联系删除。 版权所有 Copyright@2012-2013 haoling.cc