feat: Bewertungssystem (👍/👎) als Trainingsdaten-Export

Jede Karte im Leitstand bekommt Daumen hoch/runter fuer die Kategorisierung.
Bei 👎 optional Korrektur (richtige Kategorie/Dringlichkeit). Gespeichert
als bewertung.json pro Anruf-Ordner (gleiches Muster wie stapel.json,
pipe/bewertung.py).

Export als JSONL (pipe/export.py, neuer "📤 Bewertungen exportieren"-Knopf
+ automatisch beim "Tag archivieren"): ein Datensatz pro bewertetem Anruf
mit Transkript, Modell-Ausgabe, Backend/Modell, Bewertung und Korrektur -
fuer externe Auswertung (z.B. um Kategorisierungs-Fehler systematisch statt
zufaellig zu finden, wie das Notfall-Sicherheitsnetz vom letzten Fund).

Export-Knopf verlangt Bestaetigung ("Transkripte und Namen verlassen den
Rechner") - bewusst kein automatischer Export ohne Hinweis, das steht sonst
im Widerspruch zum On-Prem-Versprechen. training/ ist neu gitignored (volle
Transkripte/Namen drin, siehe README-Hinweis zu Testdaten).

Nebenbei: process_call.py legt jetzt auch backend/modell/dauer_s der
Kategorisierung dauerhaft in meta.json ab (vorher nur im fluechtigen Log) -
noetig, damit der Export nachvollziehbar ist, welches Modell lief.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015vtvcyNkapuDh583643hNs
This commit is contained in:
Jeuner 2026-08-24 23:47:20 +02:00
parent 7e4505d9b7
commit 90548944a2
5 changed files with 219 additions and 7 deletions

View file

@ -86,6 +86,11 @@ def verarbeite(audio: str, anrufer_nummer: str | None = None,
"audio_dauer_s": t.dauer,
"auswertung": auswertung,
"bekannter_kontakt": bekannter_kontakt,
# Backend/Modell mit ablegen (nicht nur ins fluechtige Log) - fuer den
# Bewertungs-Export (pipe.export) muss nachvollziehbar bleiben, welches
# Modell diese Kategorisierung geliefert hat.
"kategorisierung": {"backend": meta["backend"], "modell": meta["modell"],
"dauer_s": meta["dauer_s"], "failover_von": meta.get("failover_von")},
}
print("▸ Lege ab …")