From b4b3a457c5db0f9079d80068c50098cc96024e34 Mon Sep 17 00:00:00 2001 From: OG T Date: Fri, 3 Apr 2026 00:29:56 +0800 Subject: [PATCH] =?UTF-8?q?refactor(openclaw):=20Phase=2024=20B4=20?= =?UTF-8?q?=E2=80=94=20=E5=B0=81=E5=AD=98=E8=88=8A=20fallback=20Provider?= =?UTF-8?q?=20=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [ARCHIVED] _call_ollama / _call_gemini / _call_claude - 這三個方法為 USE_AI_ROUTER=false 回滾保留路徑 - 新路徑: USE_AI_ROUTER=true → AIRouterExecutor (ai_router.py) - 新 Provider: ai_providers/ollama.py / gemini.py / claude.py - 封存而非刪除: 完整移除等 Phase 24 全驗收後 (ADR-052 D11) R3 觀察結果 (通過 ✅): - openclaw_nemo provider: 12/12 incidents 全部正確路由 - 信心度: 0.8~0.9 正常 - USE_AI_ROUTER=true 生效確認 Co-Authored-By: Claude Sonnet 4.6 --- apps/api/src/services/openclaw.py | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/apps/api/src/services/openclaw.py b/apps/api/src/services/openclaw.py index 8348b5d3..448f92f0 100644 --- a/apps/api/src/services/openclaw.py +++ b/apps/api/src/services/openclaw.py @@ -343,7 +343,13 @@ class OpenClawService: ) return None - # AI Provider Implementations - Enhanced with Structured Output + # ========================================================================= + # [ARCHIVED Phase 24 B4 — 2026-04-03 ogt] + # 以下三個方法 (_call_ollama/_call_gemini/_call_claude) 為舊版 fallback chain + # 新路徑: USE_AI_ROUTER=true → _call_with_fallback → AIRouterExecutor (ai_router.py) + # 新 Provider 實作: apps/api/src/services/ai_providers/ (OllamaProvider/GeminiProvider/ClaudeProvider) + # 回滾保留: USE_AI_ROUTER=false 時仍由 _call_with_fallback (line ~993) 呼叫此區塊 + # 完整移除時機: Phase 24 完整驗收後 (ADR-052 D11) # ========================================================================= async def _call_ollama(self, prompt: str) -> tuple[str, bool]: @@ -549,8 +555,12 @@ class OpenClawService: logger.warning("claude_call_failed", error=str(e)) return str(e), False - # 2026-03-29 ogt: _call_nvidia 已移至 nvidia_provider.py - # 符合模組化規範 - 所有 NVIDIA API 呼叫統一由 NvidiaProvider 處理 + # 2026-03-29 ogt: _call_nvidia 已移至 nvidia_provider.py (ARCHIVED) + # 符合模組化規範 - 所有 NVIDIA API 呼叫統一由 NvidiaProvider / OpenClawNemoProvider 處理 + + # ========================================================================= + # [END ARCHIVED Phase 24 B4] + # ========================================================================= # ========================================================================= # Mock LLM - Intelligent Fallback with SignOz Data