diff --git a/src/local_transcriber/backends/__init__.py b/src/local_transcriber/backends/__init__.py index 7a11cdb..99fcfa3 100644 --- a/src/local_transcriber/backends/__init__.py +++ b/src/local_transcriber/backends/__init__.py @@ -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 diff --git a/tests/test_onnx_asr.py b/tests/test_onnx_asr.py index f495519..31e31f3 100644 --- a/tests/test_onnx_asr.py +++ b/tests/test_onnx_asr.py @@ -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()