Воркеры грузят модели при первой задаче

Прогрет был только нулевой воркер, остальные получали пустой конвейер и
роняли задачу с "модели не загружены". В комментарии было написано, что
они греются сами, но кода для этого не было.

Заодно отключены ANSI-цвета uvicorn на Windows: консоль их не разбирает
и печатала управляющие последовательности как мусор.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Vladimir Bryzgalov
2026-08-15 22:51:54 +05:00
co-authored by Claude Opus 5
parent be837bab0b
commit c1ba61fcd5
4 changed files with 51 additions and 4 deletions
+6 -2
View File
@@ -149,9 +149,13 @@ class Pipeline:
return diar
def transcribe(self, wav_path: Path, num_speakers: int = 2) -> dict:
"""Полный проход: диаризация, распознавание реплик, постобработка."""
"""Полный проход: диаризация, распознавание реплик, постобработка.
Модели грузятся при первой задаче, а не при создании: воркеров несколько,
и держать копии моделей у тех, кому работа ещё не досталась, незачем.
"""
if self._asr is None:
raise RuntimeError("модели не загружены, вызовите warmup()")
self.warmup()
self._reload_replacements()
samples = read_wav(wav_path)