feat(ai): promote Nvidia nemotron as default arbitrator for high complexity/risk incidents
All checks were successful
CD Pipeline / build-and-deploy (push) Successful in 4m35s
E2E Health Check / e2e-health (push) Successful in 16s

This commit is contained in:
OG T
2026-03-30 00:26:53 +08:00
parent a7925ae583
commit 000533d32e

View File

@@ -180,11 +180,12 @@ class AIRouter:
}
# 完整 Fallback 鏈 (Provider, Model)
# 2026-03-29 ogt: NVIDIA 不在一般 Fallback 鏈 (僅用於 Tool Calling)
# 2026-03-30 ogt: NVIDIA 成為首選仲裁,加入 Fallback 鏈首位
self._full_fallback_chain: list[tuple[AIProvider, str]] = [
(AIProvider.OLLAMA, self._ollama_default),
(AIProvider.NVIDIA, self._nvidia_default),
(AIProvider.GEMINI, self._gemini_default),
(AIProvider.CLAUDE, self._claude_default),
(AIProvider.OLLAMA, self._ollama_default),
]
# Tool Calling 專用 Fallback 鏈 (ADR-036)
@@ -351,12 +352,12 @@ class AIRouter:
return provider, model, reason
# =======================================================================
# 規則 4: 複雜度 4-5 或 HIGH 風險 → Gemini
# 規則 4: 複雜度 4-5 或 HIGH 風險 → Nvidia Nemotron
# =======================================================================
if score >= 4 or risk == RiskLevel.HIGH:
provider = AIProvider.GEMINI
model = self._gemini_default
reason = f"複雜度={score}/5, 風險={risk.value}Gemini (fallback Claude)"
provider = AIProvider.NVIDIA
model = self._nvidia_default
reason = f"複雜度={score}/5, 風險={risk.value}Nvidia (fallback Gemini)"
return provider, model, reason
# =======================================================================
@@ -556,8 +557,8 @@ class AIRouter:
{
"rule": 4,
"condition": "complexity >= 4 OR HIGH risk",
"provider": "gemini",
"reason": "高複雜度需要雲端能力",
"provider": "nvidia",
"reason": "高複雜度需要 Nvidia Nemotron 強大推理能力",
},
{
"rule": 5,