mirror of
https://github.com/jie65535/JChatGPT.git
synced 2026-09-15 02:56:10 +08:00
conversation: separate retry and loop budgets
This commit is contained in:
@@ -206,8 +206,8 @@ historyMessageLimit: 20
|
||||
logPrompt: false
|
||||
# 达到需要合并转发消息的阈值
|
||||
messageMergeThreshold: 150
|
||||
# 最大循环次数,至少2次
|
||||
retryMax: 5
|
||||
# 单次对话正常调用模型的最大循环轮数,至少2轮;失败重试不占用此轮数
|
||||
retryMax: 10
|
||||
# 关键字呼叫,支持正则表达式
|
||||
callKeyword: '[小筱][林淋月玥]'
|
||||
# 是否显示工具调用消息,默认是
|
||||
@@ -457,7 +457,8 @@ fallbackCooldownMinutes: 5
|
||||
### 工作机制
|
||||
|
||||
- 主接入点为列表首位,备用接入点按配置顺序排在其后。
|
||||
- **单次对话内**:某接入点流式调用失败时,经短暂指数退避后切换到下一个接入点重试,而非反复重试同一个故障点。
|
||||
- **单轮调用内**:配置备用接入点时,每个接入点最多尝试一次,全部失败后立即结束;未配置备用接入点时,主接入点失败后只重试一次。每次重试前都会进行带抖动的指数退避。
|
||||
- **正常对话循环**:只有成功完成的模型调用才计入 `retryMax`,失败尝试不消耗正常循环轮数;默认最多 10 轮。
|
||||
- **跨对话冷却**:失败的接入点进入冷却期(`fallbackCooldownMinutes` 分钟),冷却期内会被排到重试队尾。这样主接入点 key 到期后,后续消息会直接走健康的备用接入点,不必每条都先卡一次超时。调用成功或冷却到期后自动恢复。
|
||||
- 仅在**LLM 调用本身失败**时才切换接入点,后续工具执行异常不会误判正常接入点为故障。
|
||||
- 备用接入点切换只作用于聊天模型;推理模型和视觉模型仍使用各自接入点,其中视觉模型自身的失败重试也使用统一退避。
|
||||
|
||||
Reference in New Issue
Block a user