feat(onnx-asr): зарегистрировать бэкенд для --device onnx

- Зачем:
  - Бэкенд должен быть доступен через CLI по --device onnx.
- Что:
  - в backends/__init__.py добавлена ветка device == "onnx" с ленивым импортом OnnxAsrBackend.
  - при отсутствии onnx-asr выдаётся понятная ошибка.
  - добавлен тест TestBackendRegistration.
- Проверка:
  - uv run pytest -v (172 passed)
This commit is contained in:
2026-04-25 21:25:28 +03:00
parent 9e04dc8c25
commit 79dbd170ce
2 changed files with 16 additions and 0 deletions
@@ -25,6 +25,15 @@ def get_backend(device: str, *, compute_type_explicit: bool = True) -> Backend:
ov_device=device, compute_type_explicit=compute_type_explicit
)
if device == "onnx":
try:
from .onnx_asr import OnnxAsrBackend
except ImportError:
raise ValueError(
"onnx-asr бэкенд недоступен. Установите: pip install onnx-asr[cpu,hub]"
) from None
return OnnxAsrBackend()
# cuda, cpu и всё остальное → faster-whisper
from .faster_whisper import FasterWhisperBackend
+7
View File
@@ -214,6 +214,13 @@ class TestTranscribe:
assert result.duration == 1.0
class TestBackendRegistration:
def test_get_backend_returns_onnx_backend(self):
from local_transcriber.backends import get_backend
backend = get_backend("onnx")
assert isinstance(backend, OnnxAsrBackend)
class TestModelAliases:
def test_gigaam_v3_resolves(self):
backend = OnnxAsrBackend()