mirror of
https://github.com/fawney19/Aether.git
synced 2026-09-12 14:10:19 +08:00
3.3 KiB
3.3 KiB
按策略配置模型调度
管理端「调度策略 → 调度配置」按配置组织模型,不再逐个模型编辑和保存。
- 先选择调度范围「全部模型」或「区分模型」。「全部模型」只显示一套调度设置,不显示模型选择和「添加配置」,保存后自动包含以后新增的模型。
- 「区分模型」下,在表单内展开适用模型列表并勾选模型,再设置调度优先级(Provider / Key)和调度策略(缓存亲和、负载均衡、固定顺序)。搜索只过滤模型列表,其他配置已占用的模型默认隐藏;通过取消勾选移除模型。选择框显示已选名称或数量,不重复显示已选标签。
- 设置此配置共用的提供商 / Key 排序。实际请求仍只使用该模型可用的候选,不会因为共用排序而启用不支持该模型的提供商。
- 「区分模型」下,点击调度配置标题旁的「添加配置」,为剩余模型选择不同策略。收起的配置直接显示适用模型名称,已分配给其他指定配置的模型不能重复选择。
- 点击页面顶部「保存」统一生效,不需要逐个模型另存草稿。指定范围为空时不能保存。
范围语义
- 「全部模型」是独立的动态范围,不是勾选当前列表的快捷操作,保存后也自动适用于之后新增的模型。「区分模型」的列表不提供「全部模型」选项。
- 「全选当前」与「全选结果」只批量勾选当前可选模型,仍属于指定模型范围,不自动包含以后新增的模型。
- 编辑期间切换范围会分别保留两种模式的草稿,切回后恢复原有选择和设置。首次切换时继承当前配置的调度和排序;从多配置首次切到全部模型时,优先继承默认配置,否则使用第一条配置。保存只写入当前模式,全部模型模式会清除模型级的自动生成规则和独立排序。
- 旧数据中的指定模型与全部模型混合配置按「区分模型」加载,原全部模型条目显示为「默认配置」。默认排序仍可被各模型继承并覆盖,且不妨碍为剩余模型添加配置。
- 没有全部模型配置时,未指定的模型继续使用已保存的默认调度设置,不会被禁用。先修改配置再改为指定范围,不会把修改后的调度模式应用到未选择的模型。
- 移除模型或删除配置会同步移除对应的排序覆盖和自动生成的调度规则。
- 故障转移、首个候选重试次数和客户端断开处理等仍作用于整个调度策略,不随模型范围拆分。
存储兼容
无需数据库迁移,继续使用 default_policy、model_policies 和 rules:
- 全部模型的调度模式写入
default_policy,排序写入model: "*"的模型策略。 - 指定范围的共用排序展开为各模型的
model_policies;同一配置使用一条ui_scheduling_policy:前缀的调度规则,通过conditions.any匹配适用模型,并使用set_scheduling设置调度模式。 - 旧的逐模型排序和
ui_model_scheduling:规则仍可读取;编辑调度配置时转换为新结构。等价的旧模型配置可合并显示,已有自定义规则和全局故障转移设置保留。 - 新建的不同配置即使调度设置相同,也保留独立的配置范围,重新打开页面后仍可分别编辑。