feat: make chat model routing configurable

This commit is contained in:
2026-07-31 17:57:26 +08:00
parent 85a6da5949
commit ab2c945f0b
22 changed files with 567 additions and 88 deletions

View File

@@ -168,21 +168,27 @@ PERIODIC_REPORT_MAX_ATTEMPTS=3
模型管理现在区分两个概念:
- 可用模型:允许后台任务选择,可同时启用多个;
- 默认主模型:只能有一个,正式用户聊天、追问改写和检索重排始终使用它
- 默认主模型:只能有一个,承担未分流的正式聊天、追问改写和检索重排。
周期报告会选择“周期报告”能力已开启的可用模型,主题摘要和成长档案会选择“摘要沉淀”能力已开启的可用模型。若找不到匹配模型,会自动回退默认主模型,不会因为分流配置缺失直接中断任务。
固定信息问答采用保守分流:只有本轮最终召回并采用的知识全部属于固定信息类时,才选择“固定信息”能力模型;混合召回、未命中和其他知识问答仍使用默认主模型。场景模型在尚未输出任何内容前调用失败,会自动重试默认主模型;已经输出部分内容后不会重新生成,避免重复内容。
正式问答的分流规则在“系统配置 / AI 问答 / 正式问答模型分流规则”中配置:
- 关闭分流:全部正式问答使用默认主模型;
- 仅固定信息(升级后的默认值):只有本轮最终召回并采用的知识全部属于固定信息类时,才选择“固定信息”能力模型;
- 保守分流:在上一条基础上,把短、明确、只命中课程/问答/通用知识,且不涉及个人感受、关系、建议或判断的问题交给“简单知识”能力模型。
混合固定信息、未命中、深度问题和个人化问题始终使用默认主模型。场景模型在尚未输出任何内容前调用失败,会自动重试默认主模型;已经输出部分内容后不会重新生成,避免重复内容。
部署迁移后,旧版本原来启用的模型会自动成为默认主模型。新增其他模型时建议按以下顺序操作:
1. 保存模型并执行“测试”;
2. 加入可用池;
3. 只勾选它实际承担的能力;
4. 如需让低成本模型承担报告,应取消默认主模型的“周期报告”能力,避免默认模型优先命中;
4. 如需让低成本模型承担某一场景,应取消默认主模型的对应能力,并在专用模型上开启该能力,避免默认模型优先命中;
5. 在数据看板“模型使用与成本”中核对实际模型和成本。
如线上发现固定信息模型质量或稳定性异常,可在“系统配置 / AI 问答”关闭“固定信息模型分流”,下一次提问立即恢复为默认主模型,无需重新部署。后台 Agent 预览选择默认主模型时会复用正式分流规则;显式选择非默认模型时视为人工调试覆盖,不执行自动分流。
如线上发现分流模型质量或稳定性异常,可把“正式问答模型分流规则”改为“关闭分流”,下一次提问立即恢复为默认主模型,无需重新部署。后台 Agent 预览选择默认主模型时会复用正式分流规则;显式选择非默认模型时视为人工调试覆盖,不执行自动分流。旧版本的 `fixed_info_model_routing_enabled` 开关仍兼容,但保存新规则后以 `chat_model_routing_mode` 为准。
停用或删除唯一默认主模型会被后端拒绝,必须先启用并设置替代主模型。该限制用于避免生产聊天突然变成无模型可用。