限制 111 Ollama fallback 資源占用
All checks were successful
CD Pipeline / deploy (push) Successful in 1m11s

This commit is contained in:
OoO
2026-05-21 12:23:14 +08:00
committed by AiderHeal Bot
parent e57793829c
commit d6ae216c8c
6 changed files with 123 additions and 16 deletions

View File

@@ -1,8 +1,8 @@
# MOMO PRO — AI 競價情報模組 Single Source of Truth
> **最後更新**: 2026-05-20 (台北時間)
> **最後更新**: 2026-05-21 (台北時間)
> **狀態**: 🟢 四 AI Agent 自動化閉環已落地LLM 路由紅線升級為 Ollama-first 三主機級聯Gemini 備援預設關閉
> **適用版本**: V10.350
> **適用版本**: V10.361
---
@@ -25,6 +25,7 @@
- OpenClaw 週報、月報、Meta analysis、日報洞察、Telegram PPT 分析與 MCP fallback 也必須 Ollama-firstGemini caller 只能帶 `_gemini_fallback` 或明確 fallback caller 語意,且不得先於 Ollama/NIM 被呼叫。
- OpenClaw 週報、月報、Meta analysis、日報洞察與每日報告的 Gemini/NIM 備援 caller 必須登錄在 caller registry、AI 觀測台 agent group 與 Telegram 狀態統計,避免 fallback 用量被歸類為未知或漏算。
- Gemini API 出站有第二道 kill switch`GEMINI_FALLBACK_ENABLED` 預設為 `false`。即使 `GEMINI_API_KEY` 存在,通用 AI fallback、OpenClaw 報告/QA/PPT/圖片、MCP Grounding 與 Code Review L3 都不得呼叫 Gemini只有操作員明確設為 `true`Gemini 才能作緊急備援。
- 111 `192.168.0.111` 只是最後一道 Mac fallback不承接 14B+ 重模型長駐;`OllamaService.generate()` 落到 111 時會將 `qwen3:14b` / `deepseek-r1:14b` / 32B+ / 70B+ 依 `OLLAMA_111_MODEL_DOWNGRADE_PATTERNS` 降級到 `OLLAMA_111_MODEL_FALLBACK`,並以 `OLLAMA_111_KEEP_ALIVE=5m``OLLAMA_111_MAX_TIMEOUT=45` 封頂,避免 16GB RAM 主機被 14B 模型與 24h keep-alive 壓到 swap。
## 一、四 AI Agent 路由架構
@@ -36,7 +37,7 @@ SQL漏斗(~300筆)
任務: 競價威脅分類 → TOP 20 HIGH/MED/LOW
[NemoTron / qwen3] — 派發器
主路徑: qwen3:14b @ Ollama 三主機級聯
主路徑: qwen3:14b @ GCP-A/GCP-B落到 111 時自動降級 7B
備援: NVIDIA NIM meta/llama-3.1-8b-instruct
任務: Tool Calling → Telegram 告警 / DB 寫入
@@ -64,8 +65,8 @@ SQL漏斗(~300筆)
| 角色 | 模型 | 主機 | 成本 | 每日限額 |
|------|------|------|------|---------|
| Hermes 分析師 | hermes3:latest / bge-m3 | GCP-A → GCP-B → 111 Ollama | 零 | 無限 |
| NemoTron 派發器 | qwen3:14bNIM fallback | GCP-A → GCP-B → 111NVIDIA NIM 備援 | Ollama 零NIM 配額內免費 | NIM 80 |
| OpenClaw 策略師 | qwen3:14b / Gemini 鎖定場景 | Ollama-firstGemini 備援 | Ollama 零Gemini 需控管 | — |
| NemoTron 派發器 | qwen3:14b111 fallback 降級 7BNIM fallback | GCP-A → GCP-B → 111NVIDIA NIM 備援 | Ollama 零NIM 配額內免費 | NIM 80 |
| OpenClaw 策略師 | qwen3:14b111 fallback 降級 7BGemini 鎖定場景 | Ollama-firstGemini 備援 | Ollama 零Gemini 需控管 | — |
| ElephantAlpha 編排者 | ElephantAlpha | 依部署環境 | 受控 | HITL / 任務制 |
---

View File

@@ -13,6 +13,7 @@
## 📅 詳細更新日誌 (考古存檔)
### 2026-05-21瀏覽器測試守門與 PChome 熱路徑優化
- **V10.361 111 fallback resource guard**: 實測 111 Mac 高 load 主要來自 Codex app / WindowServer 前台負載,且 Ollama 曾因 fallback 載入 `qwen3:14b` 造成 16GB RAM / swap 壓力;已手動 unload 111 上的重模型,並讓 `OllamaService.generate()` 落到 111 時自動把 14B+ 模型降到 `OLLAMA_111_MODEL_FALLBACK``keep_alive` 縮至 `OLLAMA_111_KEEP_ALIVE=5m`、timeout 封頂 `OLLAMA_111_MAX_TIMEOUT=45`。GCP-A/GCP-B 仍可跑 `qwen3:14b`111 只做短時最後備援。
- **V10.360 browser smoke guard**: `tests/test_image_fetch.py` 改為預設 skip只有 `RUN_MOMO_BROWSER_TESTS=1` 才會打開外部 MOMO 網站;手動執行時預設 headless並關閉 Chrome password manager/autofill避免一般 pytest 觸發瀏覽器與密碼允許提示。
- **Scheduler Selenium 防彈窗**: `managed_scraper_resources()``credentials_enable_service=false``profile.password_manager_enabled=false` 與 Autofill/PasswordManager feature disable降低背景 Selenium 觸發密碼管理提示的機率。
- **PChome dashboard hot path**: `competitor_intel_repository.py` 的 coverage / review queue 最新 MOMO 價格查詢改用 `JOIN LATERAL ... ORDER BY pr.timestamp DESC, pr.id DESC LIMIT 1`,避免 window function 掃描造成首頁與覆核隊列熱路徑變慢Dashing Diva 召回搜尋補品線與 `magicpress` broad terms。