6b0ee60d94bb9164f6dc6a08bf15349408bb902d
The meeting pipeline created a fresh Diarizer per recording, each loading the multi-GB pyannote speaker-diarization model anew (api/pipeline.py). Whisper and Ollama run remotely in this deployment, so pyannote was the only heavy in-process consumer. Reloading it per recording leaked CPU memory (torch reference cycles + glibc arena fragmentation) that was never returned to the OS, climbing to a 37 GB peak over a multi-day run until the kernel OOM-killed the service. Cache the loaded pipeline on the class and reuse it across Diarizer instances, mirroring TranscriptionEngine._model. RSS now stays flat.
Description
Lokales KI-Transkriptionstool — Whisper + Ollama + Browser-UI
203 KiB
Languages
Python
66.1%
HTML
20.3%
JavaScript
11.5%
Shell
2.1%