报错是这么冒出来的。Dify 0.15 的模型供应商里模型名填的是 gpt-4o-latest,同一份工作流隔两天跑出来的摘要格式完全不同,日志里只有模型名,没有具体快照。
中间走过弯路,把「缓存键只带模型名,旧答案被复用」当成主因,改完现象没变。
这类报错背后常见的原因有几处,逐个排除就行。latest 是浮动别名,供应商侧随时指向新快照。少数情况下是工作流没锁模型版本,发布后自动跟随。
另外,评估集用旧快照跑的分,上线后无法复现。
动手时先把模型名换成带日期的快照
gpt-4o-2024-11-20
再往下在模型配置里固定该名称后重新发布
python dify_set_model.py --provider openai --model gpt-4o-2024-11-20
随后把本次发布用的快照写进记录
Add-Content release.log gpt-4o-2024-11-20
剩下的就是用同一输入对比两次输出
python run_workflow.py --input sample.json
恢复的判定其实很直接。连续三天同一输入输出格式一致,日志里能看到固定快照名,回滚时能准确切回上一版。
提醒一点。生产环境别用 latest 和任何浮动别名,模型名要写进发布记录,否则线上问题无法归因到具体版本。同一份配置在测试环境跑通,不代表线上没事,两边的默认值经常不一样。
