init stacks
This commit is contained in:
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,8 @@
|
||||
from api.llm.ollama import summarize
|
||||
|
||||
|
||||
def explain_incident(incident, metrics):
|
||||
try:
|
||||
return summarize(incident, metrics)
|
||||
except Exception:
|
||||
return "Résumé indisponible (LLM non joignable)."
|
||||
@@ -0,0 +1,14 @@
|
||||
import httpx
|
||||
|
||||
def summarize(incident, metrics):
|
||||
payload = {
|
||||
"model": "mistral",
|
||||
"prompt": INCIDENT_SUMMARY_PROMPT.format(
|
||||
incident=incident,
|
||||
metrics=metrics,
|
||||
),
|
||||
"stream": False,
|
||||
}
|
||||
|
||||
r = httpx.post("http://ollama:11434/api/generate", json=payload, timeout=30)
|
||||
return r.json()["response"]
|
||||
@@ -0,0 +1,28 @@
|
||||
SUMMARY_PROMPT = """
|
||||
Tu résumes une alerte d'infrastructure.
|
||||
|
||||
Règles :
|
||||
- Utilise uniquement les données fournies
|
||||
- Indique l'heure
|
||||
- Cause probable
|
||||
- Impact
|
||||
- Si doute : dis "cause indéterminée"
|
||||
|
||||
Données :
|
||||
{context}
|
||||
"""
|
||||
|
||||
INCIDENT_SUMMARY_PROMPT = """
|
||||
Tu es un SRE senior.
|
||||
|
||||
Incident détecté :
|
||||
{incident}
|
||||
|
||||
Métriques :
|
||||
{metrics}
|
||||
|
||||
Explique en français clair :
|
||||
- la cause probable
|
||||
- l’impact utilisateur
|
||||
- une action recommandée
|
||||
"""
|
||||
Reference in New Issue
Block a user