docs(adr): ADR-067 Ollama 五大本地 AI 應用實施規格
批准五大應用 Phase 30-34,依序執行: 1. Drift 報告中文摘要 (qwen2.5:7b-instruct) 2. Log 異常摘要 (deepseek-r1:14b) 3. PR 自動審查 (qwen2.5-coder:7b) 4. RAG 知識庫 pgvector (nomic-embed-text) 5. 圖片分析 (llava:latest) pgvector 0.8.2 已確認在 prod 就緒 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -6,6 +6,87 @@
|
||||
|
||||
---
|
||||
|
||||
## 📍 當前狀態 (2026-04-10 ADR-067 Ollama 五大應用批准,Phase 30 即將開始)
|
||||
|
||||
### ADR-067 Ollama 五大應用 — 2026-04-10 統帥批准
|
||||
|
||||
| Phase | 應用 | 狀態 |
|
||||
|-------|------|------|
|
||||
| 30 | Drift 報告中文摘要 (qwen2.5:7b-instruct) | 🔲 Next |
|
||||
| 31 | Log 異常摘要 (deepseek-r1:14b) | 🔲 |
|
||||
| 32 | PR 自動審查 (qwen2.5-coder:7b) | 🔲 |
|
||||
| 33 | RAG pgvector (nomic-embed-text 768d) | 🔲 |
|
||||
| 34 | 圖片分析 (llava:latest) | 🔲 |
|
||||
|
||||
- pgvector 0.8.2 已在 prod ✅
|
||||
- 詳細規格: ADR-067, project_ollama_applications.md
|
||||
|
||||
---
|
||||
|
||||
## 📍 前一狀態 (2026-04-10 Sprint 5.1 + Phase 27 部署中 🔄)
|
||||
|
||||
### Sprint 5.1 Data Safety Guardrails — 全部確認已部署
|
||||
|
||||
| 項目 | 狀態 | 備註 |
|
||||
|------|------|------|
|
||||
| DB M-002: approval_records MultiSig 欄位 | ✅ 已在 DB | approval_level/votes/required_votes |
|
||||
| DB M-003: alert_event_type ENUM +8 | ✅ 已在 DB | 18個 event_type |
|
||||
| ops/config/service-registry.yaml | ✅ 已 commit | BLOCK/CRITICAL_HITL/STANDARD_HITL/AUTO |
|
||||
| service_registry.py / velero_client.py / preflight_service.py | ✅ 已部署 | Sprint 3 時即已部署 |
|
||||
| Playbook model 3 安全欄位 | ✅ 已部署 | requires_approval_level/stateful_targets/requires_pre_backup |
|
||||
| auto_repair_service.py Guardrail 注入 | ✅ 已部署 | StatefulLevel.BLOCK 攔截 |
|
||||
| alert_operation_log_repository 8 新 event_type | ✅ 已部署 | GUARDRAIL_BLOCKED 等 |
|
||||
| K8s Velero RBAC | ✅ 已有 | awoooi-executor 已有 list backups 權限 |
|
||||
|
||||
### Phase 27 frequency_snapshot 持久化
|
||||
|
||||
| 項目 | 狀態 | Commit |
|
||||
|------|------|--------|
|
||||
| incidents.frequency_snapshot JSONB | ✅ DB 已建立 | migration 執行 ✅ |
|
||||
| incident_repository 序列化/反序列化 | ✅ | 9846a6c |
|
||||
| CD 部署中 | 🔄 run/653 | — |
|
||||
|
||||
**下一步**: CD 完成確認 → 下一 Sprint
|
||||
|
||||
## 📍 當前狀態 (2026-04-10 Sprint 6 A+B+C+D 全完成 ✅)
|
||||
|
||||
### Sprint 6 完整閉環
|
||||
|
||||
| Phase | 項目 | 結果 | Commit |
|
||||
|-------|------|------|--------|
|
||||
| A1 | SSH config 補 120/121 | ✅ | — |
|
||||
| A2 | CD 狀態確認(正常) | ✅ | — |
|
||||
| B | Sensor Agent 188+110 systemd service | ✅ active | 31d45f0 |
|
||||
| C | blast_radius AIBlastRadius→BlastRadius | ✅ | 7e49862 |
|
||||
| C | AIDataImpact .lower() → DataImpact | ✅ | 0571ad1 |
|
||||
| C | telegram_chat_id INTEGER→BIGINT (K8s exec) | ✅ | — |
|
||||
| C | E2E: approval_created_db ✅ + telegram_sent ✅ | ✅ | — |
|
||||
| D | drift CAST(:param AS jsonb) SQL fix | ✅ | 5d591c4 |
|
||||
| D | drift k8s/ 打包進 image | ✅ | c132fd4 |
|
||||
| D | drift_reports DB 寫入驗證 total=1 | ✅ | — |
|
||||
|
||||
**下一步**: Telegram 批准按鈕真實 E2E(需要統帥點按鈕驗收)/ 其他 Backlog
|
||||
|
||||
---
|
||||
|
||||
## 📍 當前狀態 (2026-04-10 Sprint 6 Phase A+B+C 進行中)
|
||||
|
||||
### Sprint 6 C — Telegram E2E + blast_radius bug 修復
|
||||
|
||||
| 項目 | 結果 | Commit |
|
||||
|------|------|--------|
|
||||
| SSH config 補 120/121 | ✅ | — |
|
||||
| CD 狀態確認(正常,無積壓) | ✅ | — |
|
||||
| Sensor Agent 188 systemd service | ✅ active | — |
|
||||
| Sensor Agent 110 systemd service | ✅ active | — |
|
||||
| E2E 注入告警 → signoz_telegram_sent | ✅ | — |
|
||||
| blast_radius AIBlastRadius→BlastRadius bug | ✅ 修復 | 7e49862 |
|
||||
| CD 部署 7e49862 | 🔄 進行中 | — |
|
||||
|
||||
**下一步**: CD 完成後重跑 E2E 驗收
|
||||
|
||||
---
|
||||
|
||||
## 📍 當前狀態 (2026-04-10 Sensor Agent B1 部署完成 ✅)
|
||||
|
||||
### Sprint 6 B — Sensor Agent 兩台主機部署
|
||||
|
||||
57
docs/adr/ADR-067-ollama-local-ai-applications.md
Normal file
57
docs/adr/ADR-067-ollama-local-ai-applications.md
Normal file
@@ -0,0 +1,57 @@
|
||||
# ADR-067: Ollama 本地 AI 應用五大擴展
|
||||
|
||||
**狀態**: Approved
|
||||
**日期**: 2026-04-10 (台北時間)
|
||||
**決策者**: ogt (統帥)
|
||||
**執行者**: Claude Code
|
||||
|
||||
---
|
||||
|
||||
## 背景
|
||||
|
||||
AWOOOI 基礎設施已有兩台 Ollama 主機(111/188)與多個已就緒模型,但 95% 的 AI 能力集中在 NemoClaw 對話與 OpenClaw RCA,其餘模型閒置。pgvector 0.8.2 已在 prod DB 就緒。
|
||||
|
||||
## 決策
|
||||
|
||||
批准實施五大 Ollama 本地 AI 應用,依優先順序:
|
||||
|
||||
| # | 應用 | 模型 | 主機 | Migration |
|
||||
|---|------|------|------|-----------|
|
||||
| 1 | RAG 知識庫 | nomic-embed-text (768d) | Ollama 188 | phase28_rag_pgvector.sql |
|
||||
| 2 | PR 自動審查 | qwen2.5-coder:7b | Ollama 111 | phase29_pr_reviews.sql |
|
||||
| 3 | Log 異常摘要 | deepseek-r1:14b | Ollama 111 | 無(Redis 快取) |
|
||||
| 4 | Drift 報告摘要 | qwen2.5:7b-instruct | Ollama 111 | phase30_drift_narrative.sql |
|
||||
| 5 | 圖片分析 | llava:latest | Ollama 111 | 無 |
|
||||
|
||||
## 架構原則(延續 leWOOOgo)
|
||||
|
||||
- Router 禁止直接存 DB/Redis
|
||||
- 每個應用建立獨立 Service + Repository
|
||||
- 模型配置集中在 models.json(purpose key)
|
||||
- 雙軌儲存:Redis 熱快取 + PostgreSQL 永久
|
||||
- 所有 LLM 呼叫需有 timeout + graceful fallback
|
||||
|
||||
## 實施時程
|
||||
|
||||
- Week 0: 前置確認(pgvector ✅,models.json 新增 purpose keys)
|
||||
- Week 1 前: 應用 4(Drift 摘要)— 最小改動
|
||||
- Week 1 後: 應用 3(Log 摘要)
|
||||
- Week 2 前: 應用 2(PR 審查)
|
||||
- Week 2-3: 應用 1(RAG pgvector)
|
||||
- Week 3: 應用 5(圖片分析)
|
||||
|
||||
## 衝突評估
|
||||
|
||||
- **無衝突**:Sprint 5R 前端重構(ADR-065)獨立進行,不影響後端
|
||||
- **注意**:應用 4 修改 `drift.py` 背景任務,需確認不影響現有 B4 drift_reports 持久化(已完成)
|
||||
- **注意**:應用 3 修改 `telegram_gateway.py`(橙區),每次修改前需重讀檔案
|
||||
- **注意**:Ollama 111 並發管控,deepseek-r1:14b 優先,drift_narrative 最低優先
|
||||
|
||||
## 已確認基礎設施
|
||||
|
||||
- pgvector: 0.8.2 ✅
|
||||
- nomic-embed-text: Ollama 111 + 188 ✅
|
||||
- llava:latest: Ollama 111 ✅
|
||||
- qwen2.5-coder:7b: Ollama 111 ✅
|
||||
- qwen2.5:7b-instruct: Ollama 111 ✅
|
||||
- deepseek-r1:14b: Ollama 111 ✅
|
||||
Reference in New Issue
Block a user