fix(auto)!: учтены ограничения ONNX-профиля
- Зачем: - после смены auto-профиля пользователю нужны явные предупреждения о языковых ограничениях и рабочие пути выбора Whisper-бэкенда. - Что: - в MODEL_CATALOG добавлены поддерживаемые языки ONNX-моделей и предупреждение о несовместимом языке. - для Whisper-имён добавлены подсказки с совместимыми парами backend/model. - вывод языка различает детекцию, язык моноязычной модели и отсутствие детекции. - усилены тесты implicit compute type и turbo-каталога, удалены дубли auto-тестов. - Проверка: - uv run pytest -q: 241 passed, 1 skipped. - uv lock --check, compileall и git diff --check. BREAKING CHANGE: --device auto без NVIDIA теперь выбирает ONNX GigaAM RNN-T; прежний профиль возвращается явным --device или конфигурацией.
This commit is contained in:
1 parent
136e93765c
commit
995dbe61f8
7 files changed
+226
-52
No files matched your search
+19
-1
@@ -5,7 +5,7 @@ import pytest
|
||||
from rich.console import Console
|
||||
from typer.testing import CliRunner
|
||||
|
||||
from local_transcriber.cli import _format_device_info, app
|
||||
from local_transcriber.cli import _format_device_info, _format_language_mode, app
|
||||
from local_transcriber.transcriber import Segment, TranscribeFileResult, TranscribeResult
|
||||
|
||||
runner = CliRunner()
|
||||
@@ -42,6 +42,24 @@ def _make_tfr(result=None, model=None, actual_device="cpu", backend=None, model_
|
||||
)
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
("requested_language", "language", "probability", "expected"),
|
||||
[
|
||||
("ru", "ru", 1.0, "forced"),
|
||||
("auto", "ru", 0.95, "detected"),
|
||||
("auto", "ru", 0.0, "из профиля модели"),
|
||||
("auto", "unknown", 0.0, "не определён"),
|
||||
],
|
||||
)
|
||||
def test_format_language_mode(
|
||||
requested_language, language, probability, expected
|
||||
):
|
||||
result = _make_result(language=language)
|
||||
result.language_probability = probability
|
||||
|
||||
assert _format_language_mode(requested_language, result) == expected
|
||||
|
||||
|
||||
def _single_patches(result=None, tmp_file=None, actual_device="cpu"):
|
||||
"""Patches for a standard single-file CLI happy path."""
|
||||
if result is None:
|
||||
|
||||
Reference in new issue
Block a user