Files
local-transcriber/tests/test_onnx_asr.py
T
ddadmin f25a546754 feat(onnx-asr): реализовать ensure_model_available
- Зачем:
  - Бэкенд должен резолвить алиасы моделей и сохранять compute_type для дальнейшего использования.
- Что:
  - добавлен конструктор __init__ с полями actual_compute_type, _resolved_model_id, _vad.
  - метод ensure_model_available валидирует алиас и возвращает идентификатор модели onnx-asr.
  - написаны 3 теста на резолвинг и сохранение compute_type.
- Проверка:
  - uv run pytest tests/test_onnx_asr.py -v
2026-04-25 21:20:35 +03:00

45 lines
1.6 KiB
Python

"""Tests for onnx-asr backend."""
import pytest
from local_transcriber.backends.onnx_asr import OnnxAsrBackend, MODEL_ALIASES
class TestEnsureModelAvailable:
def test_returns_model_id_for_gigaam(self):
backend = OnnxAsrBackend()
result = backend.ensure_model_available("gigaam-v3", "int8")
assert result == "gigaam-v3-ctc"
def test_returns_model_id_for_parakeet(self):
backend = OnnxAsrBackend()
result = backend.ensure_model_available("parakeet-v3", "fp16")
assert result == "nemo-parakeet-tdt-0.6b-v3"
def test_stores_compute_type(self):
backend = OnnxAsrBackend()
backend.ensure_model_available("gigaam-v3", "float32")
assert backend._resolved_model_id == "gigaam-v3-ctc"
assert backend.actual_compute_type == "float32"
class TestModelAliases:
def test_gigaam_v3_resolves(self):
backend = OnnxAsrBackend()
result = backend._resolve_model("gigaam-v3")
assert result == "gigaam-v3-ctc"
def test_parakeet_v3_resolves(self):
backend = OnnxAsrBackend()
result = backend._resolve_model("parakeet-v3")
assert result == "nemo-parakeet-tdt-0.6b-v3"
def test_raw_name_passes_through(self):
backend = OnnxAsrBackend()
result = backend._resolve_model("nemo-canary-1b-v2")
assert result == "nemo-canary-1b-v2"
def test_unknown_alias_raises(self):
backend = OnnxAsrBackend()
with pytest.raises(ValueError, match="Неподдерживаемая модель"):
backend._resolve_model("nonexistent-model")