agentscope-ai / agentscope-ai/QwenPaw
[Feature]: 支持按单个模型独立配置LLM自动重试与并发限流策略
- Dominant language
- Python
- Stars
- 34.9k
- Forks
- 3.1k
- Avg merge
- 1d 15h
- Merged PRs (30d)
- 225
Description
## 一、需求背景与核心痛点
我是贵平台的深度用户,目前在生产环境中同时使用多个不同厂商、不同型号的大模型(包括 minimaxai/minimax-m2.7、minimaxai/minimax-m2.5 等)。在实际使用过程中,我发现当前**全局统一的 LLM 自动重试和并发限流配置**,已经无法适配多模型混合使用的场景,成为了影响系统稳定性和配额利用率的核心瓶颈。
具体痛点如下:
1. **不同模型的官方配额差异巨大,全局配置无法兼顾**
- 例如:MiniMax M2.7 的免费/基础版 QPM 上限为 40 次/分钟,而 M2.5 的 QPM 上限为 60 次/分钟
- 如果全局 QPM 设为 36(适配 M2.7),则 M2.5 会浪费 24 次/分钟的配额
- 如果全局 QPM 设为 54(适配 M2.5),则 M2.7 会频繁触发 `Model quota exceeded` 错误
- TPM 限制的差异更为明显,尤其是开启思考模式的模型,TPM 消耗是普通模型的 3-10 倍
2. **不同模型的错误特征不同,全局重试策略一刀切不合理**
- 部分模型更容易出现 5xx 服务器错误,需要更多的重试次数和更短的退避间隔
- 部分模型(如 M2.7)更容易出现 429 限流错误,需要更少的重试次数和更长的退避间隔
- 全局统一的重试策略,要么导致某些模型重试不足,要么导致某些模型无效重试耗尽配额
3. **无法针对高风险/高消耗模型单独限流**
- 对于开启了 `enable_thinking` 思考模式的 M2.7,我需要将其 QPM 限制在 10 次/分钟以内,避免瞬间耗尽 TPM
- 但对于普通的文本生成任务,我希望其他模型能跑满 60 次/分钟的配额
- 当前全局配置无法实现这种差异化的限流策略
4. **模型切换时需要手动修改全局配置,极易出错**
- 每次在不同模型之间切换任务时,都需要手动调整全局的并发和重试参数
- 一旦忘记修改,要么导致配额浪费,要么导致大量报错,影响生产任务
## 二、具体需求描述
我希望贵平台能将**LLM 自动重试**和**LLM 并发限流**这两个功能,从当前的全局配置,升级为**支持按单个模型独立配置**。具体实现要求如下:
### 1. 配置入口
在**单个模型的配置页面**(即您截图中 `minimaxai/minimax-m2.7` 的配置页),新增两个独立的配置标签页:
- 「并发限流」标签页
- 「自动重试」标签页
### 2. 配置项内容
这两个标签页的配置项,与当前全局的「LLM 并发限流」和「LLM 自动重试」页面**完全一致**,包括但不限于:
- 并发限流:最大并发请求数、每分钟最大请求数(QPM)、限流暂停时长、抖动范围、槽位获取超时
- 自动重试:启用开关、最大重试次数、退避基础延迟、退避最大延迟
### 3. 优先级规则
- **单个模型的独立配置 > 全局配置**
- 如果某个模型没有单独配置并发限流或自动重试策略,则自动继承全局的默认配置
- 保留原有的全局配置页面,作为所有模型的默认值
### 4. 附加功能(可选,提升体验)
- 在 QPM 输入框旁边,显示该模型的**官方建议配额上限**(如“官方建议:40 次/分钟”)
- 支持一键复制其他模型的配置,方便快速批量设置
- 支持一键重置为全局默认配置
## 三、预期收益
### 对用户的收益
1. **彻底解决多模型混合使用的配额问题**:可以针对每个模型的官方配额,设置最合理的限流策略,既不浪费配额,也不会频繁触发超限错误
2. **提升系统稳定性**:可以针对不同模型的错误特征,优化重试策略,减少无效请求和报错
3. **降低运维成本**:模型切换时无需再手动修改全局配置,避免人为错误
4. **提高配额利用率**:让每个模型都能跑满自己的配额上限,最大化投资回报
### 对平台的收益
1. **提升用户体验**:解决了多模型用户的核心痛点,减少因配置不当导致的投诉和工单
2. **降低平台压力**:引导用户合理设置限流策略,减少大量无效的重试请求和超限请求
3. **增强产品竞争力**:这是目前绝大多数同类 Agent 框架和 LLM 管理平台都没有的功能,能形成明显的差异化优势
4. **为未来的计费模式升级打下基础**:如果未来推出按模型计费的模式,这种按模型配置的能力将是必不可少的
## 四、实现建议(MVP 版本)
如果贵平台资源有限,可以先推出 MVP 版本,优先实现最核心的功能:
1. 先支持按单个模型独立配置**每分钟最大请求数(QPM)**和**最大重试次数**这两个最关键的参数
2. 其他参数暂时继承全局配置
3. 后续再逐步完善其他配置项和附加功能
Contributor guide
Assessment
This issue has not been assessed yet.