uni-api icon indicating copy to clipboard operation
uni-api copied to clipboard

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

Open BenedictKing opened this issue 4 months ago • 0 comments

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

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 • 权重轮询算法会按照这些权重比例分配请求

BenedictKing avatar Aug 24 '25 02:08 BenedictKing