Skip to content

Comments

修正weighted_round_robin和all混用无效的问题#149

Open
BenedictKing wants to merge 1 commit intoyym68686:mainfrom
BenedictKing:main
Open

修正weighted_round_robin和all混用无效的问题#149
BenedictKing wants to merge 1 commit intoyym68686:mainfrom
BenedictKing:main

Conversation

@BenedictKing
Copy link
Contributor

这个修改解决了几个关键问题:

1 修复了 * 通配符的权重展开逻辑:原代码中 weights_dict.update({provider_name + "/" + model_name: int(value) for model_item in model_dict.keys()}) 实际上只会为一个模型设置权重,现在改为正确的循环展开。
2 支持 all 与权重配置共存:当配置中同时存在权重模型和 all 时,会为所有未配置权重的模型设置默认权重1。
3 保持向后兼容性:不影响现有的纯权重配置或纯字符串配置。

现在你的配置可以正常工作:

api_keys:

  • api: sk-xxx model: - all - gemini/*: 9 preferences: SCHEDULING_ALGORITHM: weighted_round_robin AUTO_RETRY: true

这样配置后:

• gemini/* 下的所有模型都会有权重9
• 其他所有模型会有默认权重1
• 权重轮询算法会按照这些权重比例分配请求

这个修改解决了几个关键问题:

 1 修复了 * 通配符的权重展开逻辑:原代码中 weights_dict.update({provider_name + "/" + model_name: int(value) for model_item in model_dict.keys()}) 实际上只会为一个模型设置权重,现在改为正确的循环展开。
 2 支持 all 与权重配置共存:当配置中同时存在权重模型和 all 时,会为所有未配置权重的模型设置默认权重1。
 3 保持向后兼容性:不影响现有的纯权重配置或纯字符串配置。

现在你的配置可以正常工作:


api_keys:
  - api: sk-xxx
    model:
      - all
      - gemini/*: 9
    preferences:
      SCHEDULING_ALGORITHM: weighted_round_robin
      AUTO_RETRY: true


这样配置后:

 • gemini/* 下的所有模型都会有权重9
 • 其他所有模型会有默认权重1
 • 权重轮询算法会按照这些权重比例分配请求
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.

1 participant