FastGPT
FastGPT copied to clipboard
模型更新机制存在的竞态条件问题,导致Model qwen3-235b-a22b-instruct-2507 is undefined, you need to select a chat model.
例行检查
- [x] 我已确认目前没有类似 issue
- [x] 我已完整查看过项目 README,以及项目文档
- [x] 我使用了自己的 key,并确认我的 key 是可正常使用的
- [x] 我理解并愿意跟进此 issue,协助测试和提供反馈
- [x] 我理解并认可上述内容,并理解项目维护者精力有限,不遵循规则的 issue 可能会被无视或直接关闭
你的版本
- [ ] 公有云版本
- [x] 私有部署版本, 具体版本号: v4.12.2-fix3
问题描述, 日志截图,配置文件等
其中1个报错如下:
--- 说明:---
- 该问题偶发,且期间模型配置无任何变更。
--- 排查 ---
根据日志检查,该问题发生在6:15:00 从日志上可看出,此时同时存在模型更新日志
通过对源码分析,发现在packages/service/core/ai/config/utils.ts中,模型更新时,使用如下步骤:
清空全局模型→异步循环所有模型,填充global.llmModelMap
根据时间点可判断: 节点进行LLMs请求时,刚好处于清空全局模型,且所需模型暂未更新到global.llmModelMap中导致。属于典型的“竞态条件问题”
-- 优化建议 --
使用原子更新的方式,更新模型映射。(先构建新的映射关系,完成后替换global.llmModelMap)