fix(ollama-first): 3 個 feature flag 翻 ON — Ollama 優先、Gemini 殿後
Some checks failed
CD Pipeline / deploy (push) Has been cancelled
Some checks failed
CD Pipeline / deploy (push) Has been cancelled
統帥 2026-05-03 23:30 指令:「免費的優先!最後才是 Gemini」
3 個 flag 預設 false → true(GCP Primary qwen3:14b 已拉好,無阻擋):
1. OPENCLAW_QA_OLLAMA_FIRST=true
→ Telegram 戰略 Q&A 走 qwen3:14b(繁中強制 prompt + Gemini fallback)
→ 預期月省 ~6.7M Gemini tokens(戰前 8.4M × 80%)
2. OPENCLAW_DAILY_HERMES_TEMPLATE=true
→ 日報走 Hermes 模板 + Gemini 200 字洞察(28K → 8K, -71%)
→ 預期月省 ~600K Gemini tokens
3. NEMOTRON_OLLAMA_FIRST=true
→ 威脅分派走 GCP qwen3:14b → NIM 備援 → ADR-004 規則引擎兜底
→ 預期月省 ~5M NIM tokens(解配額痛點)
合計月省 ~12M tokens(與 ADR-029 預估 -23.5% 對齊)
緊急停用:env 變數設 false 即可(保留 fail-safe)
品質風險:A7 Q&A 有 _is_low_quality_response 守門 → 低品質自動 fallback Gemini
Operation Ollama-First v5.0 / Phase 6.5 hotfix #2 / 落地統帥指令
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -115,7 +115,10 @@ _nim_call_count = {"date": "", "count": 0}
|
||||
# 模型選擇:A2 web-research 紅綠燈報告 docs/phase0_research_report_20260503.md
|
||||
# 原戰役計畫 deepseek-r1:14b 的 Ollama tool_calls chat template 缺對應 jinja
|
||||
# (GitHub Issue #10935 未解),改採 qwen3:14b(Ollama 官方 + qwenlm 雙確認 tools 支援)。
|
||||
NEMOTRON_OLLAMA_FIRST = os.getenv("NEMOTRON_OLLAMA_FIRST", "false").lower() == "true"
|
||||
# 統帥 2026-05-03 23:30 指令:「免費優先」— GCP qwen3:14b 已拉
|
||||
# 預設 ON:qwen3:14b 主 → NIM 備援 → Hermes 規則引擎兜底(ADR-004)
|
||||
# 緊急停用(回 NIM-first):export NEMOTRON_OLLAMA_FIRST=false
|
||||
NEMOTRON_OLLAMA_FIRST = os.getenv("NEMOTRON_OLLAMA_FIRST", "true").lower() == "true"
|
||||
NEMOTRON_OLLAMA_MODEL = os.getenv("NEMOTRON_OLLAMA_MODEL", "qwen3:14b")
|
||||
NEMOTRON_OLLAMA_TIMEOUT = int(os.getenv("NEMOTRON_OLLAMA_TIMEOUT", "180")) # 秒
|
||||
|
||||
|
||||
@@ -58,7 +58,10 @@ TAIPEI_TZ_OFFSET = 8 # UTC+8
|
||||
|
||||
def _qa_ollama_first_enabled() -> bool:
|
||||
"""每次呼叫即時讀環境變數,允許 runtime toggle 灰度。"""
|
||||
return os.getenv('OPENCLAW_QA_OLLAMA_FIRST', 'false').strip().lower() in ('true', '1', 'yes', 'on')
|
||||
# 統帥 2026-05-03 23:30 指令:「都是要先以免費的優先!最後才是 Gemini」
|
||||
# 預設 ON:Ollama (qwen3:14b @ GCP Primary 已拉) 為主,Gemini 為品質低時 fallback
|
||||
# 緊急停用:export OPENCLAW_QA_OLLAMA_FIRST=false
|
||||
return os.getenv('OPENCLAW_QA_OLLAMA_FIRST', 'true').strip().lower() in ('true', '1', 'yes', 'on')
|
||||
|
||||
|
||||
OPENCLAW_QA_OLLAMA_MODEL = os.getenv('OPENCLAW_QA_OLLAMA_MODEL', 'qwen3:14b')
|
||||
@@ -1433,7 +1436,10 @@ def _daily_hermes_template_enabled() -> bool:
|
||||
每次呼叫即時讀取,允許 runtime toggle 灰度(不需重啟 scheduler)。
|
||||
預設 false → 走 _legacy_full_gemini_daily_report(戰前行為,零 regression)。
|
||||
"""
|
||||
return os.getenv('OPENCLAW_DAILY_HERMES_TEMPLATE', 'false').strip().lower() in ('true', '1', 'yes', 'on')
|
||||
# 統帥 2026-05-03 23:30 指令:「免費優先」
|
||||
# 預設 ON:Hermes 算 KPI + 模板填充,Gemini 只寫 200 字洞察(戰前 28K → ~8K tokens, -71%)
|
||||
# 緊急停用(回 Gemini 全文版):export OPENCLAW_DAILY_HERMES_TEMPLATE=false
|
||||
return os.getenv('OPENCLAW_DAILY_HERMES_TEMPLATE', 'true').strip().lower() in ('true', '1', 'yes', 'on')
|
||||
|
||||
|
||||
def generate_daily_report() -> dict:
|
||||
|
||||
Reference in New Issue
Block a user