Files
awoooi/apps/api/models.json
Your Name f7e5fc772e
Some checks failed
Code Review / ai-code-review (push) Failing after 18s
feat(ai-models): ADR-110 GCP-A Primary + 全任務模型升級 (v1.4.0)
models.json v1.3.0 → v1.4.0:
- endpoint: 192.168.0.111 → GCP-A 34.143.170.20:11434 (ADR-110)
- rca/drift_summary/playbook_draft/rag_generate: qwen2.5:7b → qwen3:14b
- code_review: qwen2.5-coder:7b → qwen2.5-coder:32b (GCP SSD)
- embedding: nomic-embed-text → bge-m3:latest (多語言更佳)
- image_analysis: llava → minicpm-v:latest
- 新增: trust_scoring/alert_triage/intent_classify/governance 四任務

config.py:
- OLLAMA_REQUIRED_MODELS: 新增 qwen3:14b + hermes3:latest
- OLLAMA_TOOL_MODEL: llama3.1:8b → hermes3:latest
- OPENCLAW_DEFAULT_MODEL: qwen2.5:7b-instruct → qwen3:14b

111 背景安裝 minicpm-v + qwen3:14b (fallback 補齊)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-04 10:59:38 +08:00

255 lines
7.0 KiB
JSON
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"name": "OpenClaw AI Router Configuration",
"version": "1.4.0",
"description": "AI 模型路由與備援設定 (ADR-006 + ADR-036 Nemotron + D1 ADR-067 五大應用 2026-04-11 + ADR-110 GCP 三層容災 2026-05-04)",
"updated_at": "2026-05-04",
"default_provider": "ollama",
"fallback_order": ["ollama", "gemini", "claude"],
"tool_calling_fallback_order": ["nvidia", "gemini", "claude"],
"providers": {
"ollama": {
"name": "Ollama (GCP-A Primary)",
"enabled": true,
"priority": 1,
"endpoint": "http://34.143.170.20:11434",
"api_path": "/api/generate",
"models": {
"default": "qwen2.5:7b-instruct",
"rca": "qwen3:14b",
"summary": "gemma3:4b",
"drift_summary": "qwen3:14b",
"drift_intent": "qwen2.5:7b-instruct",
"log_anomaly": "deepseek-r1:14b",
"nemoclaw": "deepseek-r1:14b",
"playbook_draft": "qwen3:14b",
"code_review": "qwen2.5-coder:32b",
"embedding": "bge-m3:latest",
"rag_generate": "qwen3:14b",
"image_analysis": "minicpm-v:latest",
"trust_scoring": "hermes3:latest",
"alert_triage": "hermes3:latest",
"intent_classify": "qwen2.5:7b-instruct",
"governance": "deepseek-r1:14b"
},
"options": {
"temperature": 0.1,
"top_p": 0.9,
"num_predict": 1024,
"format": "json"
},
"timeout_seconds": 120,
"cost": {
"per_1k_tokens": 0,
"currency": "USD"
},
"health_check": {
"endpoint": "/api/tags",
"interval_seconds": 60
}
},
"gemini": {
"name": "Google Gemini",
"enabled": true,
"priority": 2,
"endpoint": "https://generativelanguage.googleapis.com/v1beta",
"api_path": "/models/{model}:generateContent",
"models": {
"default": "gemini-2.0-flash",
"rca": "gemini-2.0-flash",
"summary": "gemini-2.0-flash"
},
"options": {
"temperature": 0.1,
"maxOutputTokens": 2048,
"responseMimeType": "application/json"
},
"timeout_seconds": 30,
"cost": {
"per_1k_tokens": 0.001,
"currency": "USD"
},
"auth": {
"type": "api_key",
"env_var": "GEMINI_API_KEY",
"query_param": "key"
},
"rate_limits": {
"daily_tokens": 70000,
"requests_per_minute": 60
}
},
"claude": {
"name": "Anthropic Claude",
"enabled": true,
"priority": 3,
"endpoint": "https://api.anthropic.com/v1",
"api_path": "/messages",
"models": {
"default": "claude-haiku-4-5-20251001",
"rca": "claude-haiku-4-5-20251001",
"summary": "claude-haiku-4-5-20251001"
},
"options": {
"max_tokens": 2048
},
"timeout_seconds": 30,
"cost": {
"per_1k_tokens": 0.005,
"currency": "USD"
},
"auth": {
"type": "header",
"env_var": "CLAUDE_API_KEY",
"header_name": "x-api-key"
},
"rate_limits": {
"daily_tokens": 35000,
"requests_per_minute": 50
},
"features": {
"tool_use": true,
"structured_output": true
}
},
"nvidia": {
"name": "NVIDIA Nemotron (ADR-036)",
"enabled": true,
"priority": 4,
"endpoint": "https://integrate.api.nvidia.com/v1",
"api_path": "/chat/completions",
"models": {
"default": "nvidia/nemotron-mini-4b-instruct",
"tool_calling": "nvidia/nemotron-mini-4b-instruct",
"rca": "nvidia/nemotron-mini-4b-instruct"
},
"options": {
"temperature": 0.0,
"max_tokens": 1024
},
"timeout_seconds": 30,
"cost": {
"per_1k_tokens": 0,
"currency": "USD",
"notes": "Free tier (2026-03-29) - timeout 30s失敗後轉 Gemini"
},
"auth": {
"type": "header",
"env_var": "NVIDIA_API_KEY",
"header_name": "Authorization",
"header_prefix": "Bearer "
},
"rate_limits": {
"daily_tokens": 50000,
"requests_per_minute": 5
},
"features": {
"tool_use": true,
"structured_output": true,
"tool_calling_accuracy": 0.833
},
"use_for": ["tool_calling"]
}
},
"adr067_ollama_applications": {
"description": "ADR-067 五大 Ollama 本地 AI 應用 (Phase 30-34)2026-05-04 ogt + Claude Sonnet 4.6: endpoint 升級至 GCP-A Primary",
"endpoint": "http://34.143.170.20:11434",
"applications": {
"drift_summary": {
"phase": 30,
"model": "qwen3:14b",
"timeout_seconds": 90,
"purpose": "Config Drift 報告中文摘要"
},
"log_anomaly_summary": {
"phase": 31,
"model": "deepseek-r1:14b",
"timeout_seconds": 120,
"purpose": "K8s log 異常摘要,告警後觸發"
},
"pr_code_review": {
"phase": 32,
"model": "qwen2.5-coder:32b",
"timeout_seconds": 120,
"purpose": "Gitea PR 自動審查"
},
"rag_embed": {
"phase": 33,
"model": "bge-m3:latest",
"dimensions": 1024,
"timeout_seconds": 30,
"purpose": "RAG 知識庫向量化pgvector 儲存bge-m3 多語言 1024 維)"
},
"rag_generate": {
"phase": 33,
"model": "qwen3:14b",
"timeout_seconds": 60,
"purpose": "RAG 查詢回答生成top_k=5"
},
"image_analysis": {
"phase": 34,
"model": "minicpm-v:latest",
"timeout_seconds": 60,
"purpose": "Telegram 圖片分析minicpm-v 多模態精度優於 llava"
}
}
},
"use_cases": {
"rca_analysis": {
"description": "Root Cause Analysis for alerts",
"preferred_provider": "ollama",
"fallback_enabled": true,
"required_features": ["json_output"]
},
"log_summary": {
"description": "Summarize K8s logs for context gathering",
"preferred_provider": "ollama",
"fallback_enabled": true,
"max_input_tokens": 4096
},
"telegram_compose": {
"description": "Compose compressed Telegram messages",
"preferred_provider": "ollama",
"fallback_enabled": false,
"max_output_tokens": 500
},
"tool_calling": {
"description": "K8s Tool Calling operations (ADR-036)",
"preferred_provider": "nvidia",
"fallback_enabled": true,
"fallback_order": ["gemini", "claude"],
"required_features": ["tool_use"],
"notes": "Nemotron 83.3% accuracy for K8s operations"
}
},
"monitoring": {
"enabled": true,
"metrics": {
"track_latency": true,
"track_tokens": true,
"track_cost": true,
"track_fallbacks": true
},
"alerts": {
"daily_cost_threshold_usd": 5,
"monthly_cost_threshold_usd": 10,
"fallback_rate_threshold_percent": 20
}
},
"circuit_breaker": {
"enabled": true,
"failure_threshold": 5,
"recovery_timeout_seconds": 60,
"half_open_requests": 3
}
}