FastGPT icon indicating copy to clipboard operation
FastGPT copied to clipboard

模型更新机制存在的竞态条件问题,导致Model qwen3-235b-a22b-instruct-2507 is undefined, you need to select a chat model.

Open shikaiwei1 opened this issue 3 months ago • 0 comments

例行检查

  • [x] 我已确认目前没有类似 issue
  • [x] 我已完整查看过项目 README,以及项目文档
  • [x] 我使用了自己的 key,并确认我的 key 是可正常使用的
  • [x] 我理解并愿意跟进此 issue,协助测试和提供反馈
  • [x] 我理解并认可上述内容,并理解项目维护者精力有限,不遵循规则的 issue 可能会被无视或直接关闭

你的版本

  • [ ] 公有云版本
  • [x] 私有部署版本, 具体版本号: v4.12.2-fix3

问题描述, 日志截图,配置文件等 其中1个报错如下: Image

--- 说明:---

  1. 该问题偶发,且期间模型配置无任何变更。

--- 排查 ---

根据日志检查,该问题发生在6:15:00 从日志上可看出,此时同时存在模型更新日志

Image

通过对源码分析,发现在packages/service/core/ai/config/utils.ts中,模型更新时,使用如下步骤:

清空全局模型→异步循环所有模型,填充global.llmModelMap

根据时间点可判断: 节点进行LLMs请求时,刚好处于清空全局模型,且所需模型暂未更新到global.llmModelMap中导致。属于典型的“竞态条件问题”

-- 优化建议 --

使用原子更新的方式,更新模型映射。(先构建新的映射关系,完成后替换global.llmModelMap)

shikaiwei1 avatar Oct 23 '25 09:10 shikaiwei1