fix(diar): sherpa abschnittsweise laufen lassen (OOM bei langen Aufnahmen)

Der sherpa-Diarisierungslauf brauchte RAM quadratisch zur Gesprächslänge
(gemessen 349 MB bei 10 min, 1389 MB bei 20 min, 2643 MB bei 30 min). Die
54-min-Aufnahme #99 riss 5,4 GB, wurde OOM-getötet und nahm wegen
OOMPolicy=stop die ganze App mit — in der GUI "Transkription fehlgeschlagen"
und "failed to fetch".

Die v2-Pipeline verwirft sherpas Labels und nutzt nur die Turn-Grenzen, also
laeuft der Pass jetzt in 600-s-Abschnitten (je +-5 s Kontext) und die Grenzen
werden mit Zeit-Offset zusammengesetzt. Zusätzlich OOMPolicy=continue, damit
ein OOM-getöteter Helfer die App nicht mehr stoppt.

Verifiziert an #99: sherpa-Spitze 363 MB, 726 Turns, 8 Sprecher, Analyse
vollstaendig (done/done).
This commit is contained in:
2026-08-07 13:50:01 +02:00
parent 0aa6a37325
commit c5daee25af
4 changed files with 161 additions and 12 deletions
@@ -0,0 +1,6 @@
# Ein OOM-getoetetes Kind (sherpa/whisper/rkllm) darf nicht die ganze App
# mitreissen: systemd stoppt die Unit sonst per Default (OOMPolicy=stop), die
# laufende Analyse stirbt und das Frontend sieht "failed to fetch".
# Diarisierung/Analyse sind im Code bereits nicht-fatal.
[Service]
OOMPolicy=continue