mirror of
https://github.com/jie65535/JChatGPT.git
synced 2026-09-15 02:56:10 +08:00
retry: add exponential backoff
This commit is contained in:
@@ -135,6 +135,10 @@ profileAutoInjectMaxUsers: 4
|
||||
profileAutoInjectSummaryMaxChars: 300
|
||||
# 备用接入点冷却时间(分钟)。某接入点失败后在此时间内会被排到重试队尾,避免每条消息都先卡在故障接入点上。0为禁用
|
||||
fallbackCooldownMinutes: 5
|
||||
# 对话、画像和视觉模型失败后的统一退避:首轮基础毫秒数、单次最大毫秒数;设为0可禁用
|
||||
# 实际等待会按失败次数指数增长,并加入20%以内的随机抖动,两个值最大均为60000
|
||||
retryBackoffBaseMillis: 1000
|
||||
retryBackoffMaxMillis: 10000
|
||||
# 推理模型额外请求体JSON,会合并到请求体中。例如DeepSeek启用思维: {"thinking": {"type": "enabled"}}
|
||||
reasoningModelExtraBody: ''
|
||||
# 视觉模型额外请求体JSON,会合并到请求体中。
|
||||
@@ -428,10 +432,10 @@ fallbackCooldownMinutes: 5
|
||||
### 工作机制
|
||||
|
||||
- 主接入点为列表首位,备用接入点按配置顺序排在其后。
|
||||
- **单次对话内**:某接入点流式调用失败时,立即切换到下一个接入点重试,而非反复重试同一个故障点。
|
||||
- **单次对话内**:某接入点流式调用失败时,经短暂指数退避后切换到下一个接入点重试,而非反复重试同一个故障点。
|
||||
- **跨对话冷却**:失败的接入点进入冷却期(`fallbackCooldownMinutes` 分钟),冷却期内会被排到重试队尾。这样主接入点 key 到期后,后续消息会直接走健康的备用接入点,不必每条都先卡一次超时。调用成功或冷却到期后自动恢复。
|
||||
- 仅在**LLM 调用本身失败**时才切换接入点,后续工具执行异常不会误判正常接入点为故障。
|
||||
- 推理模型、视觉模型不受影响,仍各自独立配置。
|
||||
- 备用接入点切换只作用于聊天模型;推理模型和视觉模型仍使用各自接入点,其中视觉模型自身的失败重试也使用统一退避。
|
||||
- `/jgpt reload` 会重建接入点列表并清空冷却状态。
|
||||
|
||||
## 工具系统
|
||||
|
||||
Reference in New Issue
Block a user