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)}
|
_jobs[job_id] = {"status": "error", "error": str(result)}
|
||||||
return
|
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
|
# Keep old versions, insert new
|
||||||
conn.execute(
|
conn.execute(
|
||||||
"""INSERT INTO ki_bewertungen (vorlage_id, typ, begruendung, anmerkungen, modell, prompt_version, erstellt_at)
|
"""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"):
|
if result.get("kernforderung"):
|
||||||
conn.execute("UPDATE vorlagen SET thema_kurz = ? WHERE id = ?", (result["kernforderung"][:200], vorlage_id))
|
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()
|
conn.commit()
|
||||||
|
|
||||||
# Auto-trigger Ketten-Bewertung wenn Vorlage in einer Kette ist
|
# 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
|
# Update chain status based on KI score
|
||||||
score = result.get("score", 0)
|
score = result.get("score", 0)
|
||||||
bewertung = result.get("bewertung", "")
|
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 = ?",
|
"UPDATE ketten SET status = ?, begruendung = ? WHERE id = ?",
|
||||||
(new_status, begruendung, kette_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.commit()
|
||||||
conn.close()
|
conn.close()
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user