feat(ai): ADR-036 NVIDIA Nemotron Tool Calling 整合
Phase 20 - 提升 Tool Calling 精準度 50% → 83.3% 新增: - src/models/nvidia.py: Pydantic Schema - src/services/nvidia_provider.py: NvidiaProvider 類別 - tests/test_nvidia_provider.py: 15 項單元測試 (全部通過) 修改: - ai_router.py: AIProvider.NVIDIA + route_tool_calling() - ai_rate_limiter.py: NVIDIA 限制 (5 RPM, 100/day) - models.json: NVIDIA 配置 - cd.yaml: Secrets 注入 NVIDIA_API_KEY 路由策略: - Tool Calling: Nemotron → Gemini → Claude - 一般對話: Ollama → Gemini → Claude (不變) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -60,15 +60,36 @@ Elapsed: 28.71ms (< 50ms 目標)
|
||||
Method: httpx_native
|
||||
```
|
||||
|
||||
## 五主機架構
|
||||
## 五主機架構 (2026-03-28 K-HA 更新)
|
||||
|
||||
| 主機 | IP | 角色 | 服務 |
|
||||
|-----|-----|------|------|
|
||||
| DevOps | 192.168.0.110 | CI/CD | Harbor, GH Runner |
|
||||
| Security | 192.168.0.112 | 安全掃描 | Kali Scanner |
|
||||
| K3s Master | 192.168.0.120 | 容器編排 | K3s API Server |
|
||||
| K3s Worker | 192.168.0.121 | 工作負載 | App Pods |
|
||||
| AI+Web | 192.168.0.188 | AI/DB/Web | Ollama, PostgreSQL, Redis, SignOz |
|
||||
| DevOps | 192.168.0.110 | CI/CD + 監控 | Harbor:5000, GH Runner, Sentry:9000, Langfuse:3100 |
|
||||
| Security | 192.168.0.112 | 安全掃描 | Kali Scanner:8080 |
|
||||
| K3s Server #1 | 192.168.0.120 | **Control-Plane MASTER** | keepalived (priority=101) |
|
||||
| K3s Server #2 | 192.168.0.121 | **Control-Plane BACKUP** | keepalived (priority=100) |
|
||||
| **VIP** | **192.168.0.125** | **HA Endpoint** | **K3s API:6443 + NodePort (32334/32335)** |
|
||||
| AI+Web | 192.168.0.188 | AI/DB/Web | Ollama:11434, OpenClaw:8089, **PostgreSQL:5432 (K3s Datastore)**, Redis:6380, SignOz:3301 |
|
||||
|
||||
## K3s 高可用架構 (ADR-033)
|
||||
|
||||
```
|
||||
VIP 192.168.0.125 (keepalived)
|
||||
↓
|
||||
┌──────────────┼──────────────┐
|
||||
▼ ▼ ▼
|
||||
mon(120) mon1(121) PostgreSQL(188)
|
||||
K3s MASTER K3s BACKUP K3s Datastore
|
||||
priority=101 priority=100 (Kine protocol)
|
||||
```
|
||||
|
||||
### 關鍵變更 (2026-03-28)
|
||||
|
||||
- ✅ 雙 Control-Plane (120+121)
|
||||
- ✅ 外接 PostgreSQL Datastore (188:5432)
|
||||
- ✅ VIP 192.168.0.125 (keepalived VRRP)
|
||||
- ✅ CI/CD kubeconfig 指向 VIP
|
||||
- ✅ 故障轉移 < 3 秒
|
||||
|
||||
## SignOz 整合架構
|
||||
|
||||
@@ -93,8 +114,9 @@ Method: httpx_native
|
||||
└─────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
## AI Fallback 策略 (ADR-006)
|
||||
## AI Fallback 策略 (ADR-006 v1.3 + ADR-036)
|
||||
|
||||
### 一般對話任務
|
||||
```
|
||||
Ollama (local) → Gemini (cloud) → Claude (cloud) → mock_fallback
|
||||
↓ ↓ ↓ ↓
|
||||
@@ -102,6 +124,24 @@ Ollama (local) → Gemini (cloud) → Claude (cloud) → mock_fallback
|
||||
188:11434 API Key API Key 無 LLM
|
||||
```
|
||||
|
||||
### Tool Calling 任務 (ADR-036 - 待批准)
|
||||
```
|
||||
Nemotron (cloud) → Gemini (cloud) → Claude (cloud) → 拒絕執行
|
||||
↓ ↓ ↓
|
||||
免費 tier $0.001/1K $0.003/1K
|
||||
精準度 83% API Key API Key
|
||||
延遲 11-45s
|
||||
```
|
||||
|
||||
### Provider 對照表
|
||||
|
||||
| Provider | 用途 | 延遲 | 精準度 | 成本 |
|
||||
|----------|------|------|--------|------|
|
||||
| **Ollama** | 即時對話、簡單查詢 | < 5s | 中 | $0 |
|
||||
| **Nemotron** | Tool Calling、K8s 操作 | 11-45s | 高 (83%) | 免費 tier |
|
||||
| **Gemini** | 通用備援 | 2-5s | 中高 | 低 |
|
||||
| **Claude** | 複雜推理、CRITICAL | 2-5s | 最高 | 高 |
|
||||
|
||||
## Phase 7: 視覺主權組件
|
||||
|
||||
### 已完成組件
|
||||
|
||||
Reference in New Issue
Block a user