feat(transcriber): реализована обёртка над faster-whisper (шаг 3)

- Зачем:
  - необходим модуль транскрипции с CUDA fallback для основного flow приложения.
- Что:
  - добавлена зависимость faster-whisper>=1.2.1 в pyproject.toml.
  - реализована функция transcribe() с fallback CUDA→CPU на всех этапах (загрузка модели, вызов transcribe, итерация сегментов).
  - исправлен IndexError в get_gpu_name() при пустом stdout nvidia-smi.
  - добавлено 6 тестов в test_transcriber.py и 1 тест в test_utils.py (16 тестов зелёные).
- Проверка:
  - uv run pytest -v (16 passed).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-17 22:30:40 +03:00
co-authored by Claude Opus 4.6
parent 510d6ccfc9
commit dfc5f46bf3
7 changed files with 862 additions and 8 deletions
+4 -2
View File
@@ -39,8 +39,10 @@ def get_gpu_name() -> str | None:
check=False,
)
if result.returncode == 0:
name = result.stdout.strip().splitlines()[0].strip()
return name if name else None
lines = result.stdout.strip().splitlines()
if lines:
name = lines[0].strip()
return name if name else None
except FileNotFoundError:
pass
return None