feat: Bewertungs-Log — alle Neubewertungen mit Kontext protokollieren
Neue Tabelle bewertungs_log: - vorlage_id, kette_id, typ (zusammenfassung/umsetzung) - anmerkung: Nutzer-Begründung für Neubewertung - score_vorher/nachher, status_vorher/nachher - bewertung_vorher/nachher (Textvergleich) - modell, prompt_version, erstellt_at Für spätere Auswertung: Wo muss das Modell nachgebessert werden?
This commit is contained in:
parent
726f5c06ad
commit
c5939a6873
@ -162,6 +162,12 @@ def _run_zusammenfassung(vorlage_id: int, anmerkung: str, job_id: str):
|
||||
_jobs[job_id] = {"status": "error", "error": str(result)}
|
||||
return
|
||||
|
||||
# Get previous version for logging
|
||||
prev = conn.execute(
|
||||
"SELECT begruendung FROM ki_bewertungen WHERE vorlage_id = ? AND typ = 'zusammenfassung' ORDER BY id DESC LIMIT 1",
|
||||
(vorlage_id,),
|
||||
).fetchone()
|
||||
|
||||
# Keep old versions, insert new
|
||||
conn.execute(
|
||||
"""INSERT INTO ki_bewertungen (vorlage_id, typ, begruendung, anmerkungen, modell, prompt_version, erstellt_at)
|
||||
@ -171,6 +177,14 @@ def _run_zusammenfassung(vorlage_id: int, anmerkung: str, job_id: str):
|
||||
)
|
||||
if result.get("kernforderung"):
|
||||
conn.execute("UPDATE vorlagen SET thema_kurz = ? WHERE id = ?", (result["kernforderung"][:200], vorlage_id))
|
||||
|
||||
# Log
|
||||
conn.execute(
|
||||
"""INSERT INTO bewertungs_log (vorlage_id, typ, anmerkung, modell, prompt_version, bewertung_vorher, bewertung_nachher, erstellt_at)
|
||||
VALUES (?, 'zusammenfassung', ?, 'qwen-plus-latest', 'v2-reeval', ?, ?, ?)""",
|
||||
(vorlage_id, anmerkung, prev["begruendung"] if prev else None,
|
||||
result.get("zusammenfassung"), datetime.now().isoformat()),
|
||||
)
|
||||
conn.commit()
|
||||
|
||||
# Auto-trigger Ketten-Bewertung wenn Vorlage in einer Kette ist
|
||||
@ -272,6 +286,13 @@ def _run_ketten_bewertung(kette_id: int, anmerkung: str, job_id: str):
|
||||
),
|
||||
)
|
||||
|
||||
# Get previous scores for logging
|
||||
prev_ki = conn.execute(
|
||||
"SELECT score, begruendung FROM ki_bewertungen WHERE vorlage_id = ? AND typ = 'umsetzung_match' ORDER BY id DESC LIMIT 1",
|
||||
(kette["ursprung_id"],),
|
||||
).fetchone()
|
||||
prev_status = kette["status"]
|
||||
|
||||
# Update chain status based on KI score
|
||||
score = result.get("score", 0)
|
||||
bewertung = result.get("bewertung", "")
|
||||
@ -297,6 +318,21 @@ def _run_ketten_bewertung(kette_id: int, anmerkung: str, job_id: str):
|
||||
"UPDATE ketten SET status = ?, begruendung = ? WHERE id = ?",
|
||||
(new_status, begruendung, kette_id),
|
||||
)
|
||||
|
||||
# Log
|
||||
conn.execute(
|
||||
"""INSERT INTO bewertungs_log
|
||||
(vorlage_id, kette_id, typ, anmerkung, modell, prompt_version,
|
||||
score_vorher, score_nachher, status_vorher, status_nachher,
|
||||
bewertung_vorher, bewertung_nachher, erstellt_at)
|
||||
VALUES (?, ?, 'umsetzung', ?, 'qwen-plus-latest', 'v2-reeval',
|
||||
?, ?, ?, ?, ?, ?, ?)""",
|
||||
(kette["ursprung_id"], kette_id, anmerkung,
|
||||
prev_ki["score"] if prev_ki else None, score,
|
||||
prev_status, new_status,
|
||||
prev_ki["begruendung"] if prev_ki else None, result.get("begruendung"),
|
||||
datetime.now().isoformat()),
|
||||
)
|
||||
conn.commit()
|
||||
conn.close()
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user