Skip to content

feat: 新增 auto/fast/expert/heavy 简洁模型,优先使用高等级号池#454

Merged
chenyme merged 1 commit intochenyme:mainfrom
Huan-zhaojun:pr/feat/add-prefer-best-models
Apr 12, 2026
Merged

feat: 新增 auto/fast/expert/heavy 简洁模型,优先使用高等级号池#454
chenyme merged 1 commit intochenyme:mainfrom
Huan-zhaojun:pr/feat/add-prefer-best-models

Conversation

@Huan-zhaojun
Copy link
Copy Markdown
Contributor

Summary

新增 prefer_best 标志位和 4 个 prefer-best 聊天模型,反转账号池选择顺序(heavy → super → basic),让请求优先消耗高等级账号。

设计动机

  1. 现有模型列表带版本后缀(如 0309),数量多且命名相似,选起来费劲。干脆对应 Grok 官网四个档位(auto/fast/expert/heavy)各出一个简洁别名,一眼就知道选哪个。
  2. auto/fast/expert 这三个模式在 basic、super、heavy 三个等级的号池里都有,也就是说不管你用哪个等级的账号都能跑这三个模式。既然如此,大部分用户肯定想优先用到最强的那个——所以反转选池顺序,heavy 先上,用完再降级到 super、basic,高级账号不白放着。
  3. 完全向后兼容:原有 15 个模型 prefer_best 默认 False,选池逻辑不变,零影响。

选池对比

Tier 默认模型 prefer_best=False Prefer-Best 模型 prefer_best=True
BASIC basic → super → heavy heavy → super → basic
SUPER super → heavy heavy → super → basic
HEAVY heavy only heavy only(无变化)

新增模型

模型名 modeId 选池顺序 说明
grok-4.20-fast FAST heavy → super → basic 快速对话,优先高级池
grok-4.20-auto AUTO heavy → super → basic 自动模式,优先高级池
grok-4.20-expert EXPERT heavy → super → basic 专家推理,优先高级池
grok-4.20-heavy HEAVY heavy only Heavy 独占
  • 无版本后缀,作为 "latest" 别名使用
  • 原有 15 个模型行为完全不变(prefer_best 默认 False

变更文件

文件 变更
app/control/model/spec.py 新增 prefer_best 字段 + 反向 pool_candidates() 逻辑
app/control/model/registry.py 注册 4 个 prefer-best 模型

Test Plan

  • 分别调用 grok-4.20-auto/grok-4.20-fast/grok-4.20-expert,验证选池顺序为 heavy → super → basic
  • 调用 grok-4.20-heavy,验证只走 heavy only 号池
  • 调用原有模型(如 grok-4.20-0309),验证选池行为不变
  • heavy 池账号全部耗尽时,prefer-best 模型降级到 super → basic
  • 三个池全部耗尽时,返回正常的无可用账号错误(不死循环)

  Add `prefer_best` flag to ModelSpec that reverses pool candidate
  order (heavy → super → basic), so requests are served by the
  highest-tier available account first and only fall back when all
  accounts in higher pools are exhausted.

  New models: grok-4.20-{fast,auto,expert,heavy}
  - No version suffix — intended as "latest" aliases
  - Original 15 models unchanged (prefer_best defaults to False)
@Huan-zhaojun Huan-zhaojun marked this pull request as ready for review April 12, 2026 07:33
@chenyme chenyme merged commit 8bfb73a into chenyme:main Apr 12, 2026
4 checks passed
@Huan-zhaojun Huan-zhaojun deleted the pr/feat/add-prefer-best-models branch April 12, 2026 07:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants