feat(D1): models.json 集中化 — ADR-067 五大 Ollama 應用 hardcode 消除
All checks were successful
CD Pipeline / build-and-deploy (push) Successful in 12m56s
All checks were successful
CD Pipeline / build-and-deploy (push) Successful in 12m56s
- models.json v1.3.0: providers.ollama.models 新增 9 個 purpose keys
(drift_summary/drift_intent/log_anomaly/nemoclaw/playbook_draft/
code_review/embedding/rag_generate/image_analysis)
- drift_narrator_service: NARRATOR_MODEL → get_model("ollama","drift_summary")
- drift_interpreter: MODEL → get_model("ollama","drift_intent")
- log_summary_service: SUMMARY_MODEL → get_model("ollama","log_anomaly")
- local_code_review_service: _MODEL_OLLAMA → get_model("ollama","code_review")
- image_analysis_service: _MODEL → get_model("ollama","image_analysis")
- decision_manager: nemoclaw + playbook_draft 兩處 → get_model()
- embedding_service: get_embedding_service() factory → get_model("ollama","embedding")
- knowledge_service: OllamaEmbeddingService(model=...) → get_model()
所有模型名稱現在統一由 models.json 管理,修改模型只需改一個檔案。
LOGBOOK 更新:D1 完成 + B2 已完成確認
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -332,8 +332,10 @@ async def _nemoclaw_second_opinion(incident: "Incident", primary_result: dict) -
|
||||
from src.core.config import settings
|
||||
import httpx as _httpx
|
||||
|
||||
from src.services.model_registry import get_model as _get_model
|
||||
ollama_url = getattr(settings, "OLLAMA_URL", "http://192.168.0.188:11434")
|
||||
model = "deepseek-r1:14b"
|
||||
# D1 集中化 2026-04-11: 從 models.json providers.ollama.models.nemoclaw 讀取
|
||||
model = _get_model("ollama", "nemoclaw")
|
||||
|
||||
signals_summary = ""
|
||||
if incident.signals:
|
||||
@@ -423,11 +425,14 @@ async def _generate_playbook_draft_if_new(incident: "Incident") -> None:
|
||||
f"## 驗收條件\n(如何確認修復成功)"
|
||||
)
|
||||
|
||||
from src.services.model_registry import get_model as _get_model
|
||||
ollama_url = getattr(settings, "OLLAMA_URL", "http://192.168.0.188:11434")
|
||||
# D1 集中化 2026-04-11: 從 models.json providers.ollama.models.playbook_draft 讀取
|
||||
_pb_model = _get_model("ollama", "playbook_draft")
|
||||
async with _httpx.AsyncClient(timeout=45.0) as client:
|
||||
resp = await client.post(
|
||||
f"{ollama_url}/api/generate",
|
||||
json={"model": "qwen2.5:7b-instruct", "prompt": prompt, "stream": False},
|
||||
json={"model": _pb_model, "prompt": prompt, "stream": False},
|
||||
)
|
||||
resp.raise_for_status()
|
||||
content = resp.json().get("response", "").strip()
|
||||
|
||||
Reference in New Issue
Block a user