fix: Gemini 模型 fallback 链 — 修复全量降级 NVIDIA

根因: 免费层配额 GenerateRequestsPerDayPerProjectPerModel 每天每
模型仅 20 请求,日均 30+ 任务耗尽后持续 429,全部降级 NVIDIA
(最近40任务 35 nvidia / 4 gemini)。

- gemini_adapter 抽 _generate() 模型链调用: 429 立即切换下一模型
  (flash -> flash-lite,各自独立 20/天配额),503 退避 3s 重试一次
  再切换;视觉分析与问答统一走该链
- config: gemini 增 fallback_models,nvidia 恢复 nemotron-omni
  (原生视频输入;此前 Oracle 线上手动改过未回传仓库,被旧配置
  覆盖回 llama-3.2 逐帧模式) + timeout 30->120
- 健康检查校验整条模型链

实测 task 73: flash 429 -> lite 1s 内接管,12 帧直出,event_52
落库 provider=gemini。
This commit is contained in:
ericwyuan
2026-08-21 00:07:34 +08:00
parent 7efbee89fb
commit eaf4ef3bd3
2 changed files with 88 additions and 61 deletions

View File

@@ -68,7 +68,9 @@ models:
- provider: "gemini"
role: "vision"
enabled: true
model_name: "gemini-flash-latest" # v1beta 下 gemini-1.5-flash 会 404
model_name: "gemini-flash-latest" # 主模型(每日免费配额 20 请求,按模型独立)
fallback_models: # 429 配额耗尽/503 过载时依次切换
- "gemini-flash-lite-latest"
api_key: "${GEMINI_API_KEY}"
timeout: 90
circuit_breaker:
@@ -79,10 +81,10 @@ models:
- provider: "nvidia"
role: "vision"
enabled: true
model_name: "meta/llama-3.2-11b-vision-instruct"
model_name: "nvidia/nemotron-3-nano-omni-30b-a3b-reasoning" # Omni 原生视频输入;llama-3.2-11b-vision 仅逐帧
base_url: "https://integrate.api.nvidia.com/v1"
api_key: "${NVIDIA_API_KEY}"
timeout: 30
timeout: 120
circuit_breaker:
enabled: true
threshold: 5