diff --git a/README.md b/README.md index a8c997c..3278ee2 100644 --- a/README.md +++ b/README.md @@ -413,10 +413,10 @@ device-aware дефолт недоступен для выбранной мод # Транскрипт: meeting.mp4 - **Дата транскрипции**: 2026-03-17 14:30:05 -- **Модель**: large-v3 +- **Модель**: gigaam-v3-e2e-rnnt - **Язык**: ru (задан явно) - **Длительность**: 01:23:45 -- **Устройство**: CUDA (NVIDIA GeForce RTX 3060) +- **Устройство**: ONNX (CPU) --- diff --git a/docs/PRD.md b/docs/PRD.md index b862a87..199f122 100644 --- a/docs/PRD.md +++ b/docs/PRD.md @@ -63,10 +63,10 @@ transcribe <путь_к_файлу> [опции] # Транскрипт: meeting-2026-03-17.mp4 - **Дата транскрипции**: 2026-03-17 14:30:05 -- **Модель**: large-v3 -- **Язык**: ru (задан явно) / ru (определён автоматически) +- **Модель**: gigaam-v3-e2e-rnnt +- **Язык**: ru (задан явно) - **Длительность**: 01:23:45 -- **Устройство**: CUDA (NVIDIA GeForce RTX 3060) +- **Устройство**: ONNX (CPU) --- diff --git a/src/local_transcriber/cli.py b/src/local_transcriber/cli.py index ef7f4de..bc9c849 100644 --- a/src/local_transcriber/cli.py +++ b/src/local_transcriber/cli.py @@ -92,6 +92,8 @@ def _format_device_info(device_used: str) -> str: return f"OpenVINO ({gpu_name or 'Intel GPU'})" if device_used in ("openvino", "openvino-cpu"): return "OpenVINO (CPU)" + if device_used == "onnx": + return "ONNX (CPU)" return "CPU" diff --git a/tests/test_cli.py b/tests/test_cli.py index f1ab64d..e56cd51 100644 --- a/tests/test_cli.py +++ b/tests/test_cli.py @@ -193,6 +193,30 @@ def test_cli_default_options_passed_to_transcribe(tmp_path): assert "Устройство: onnx" in out.output +def test_cli_identifies_onnx_backend_in_transcript_header(tmp_path): + audio = tmp_path / "test.mp3" + audio.write_bytes(b"fake") + result = _make_result(device_used="onnx") + model = _make_model() + backend = _make_backend() + tfr = _make_tfr(result=result, model=model, actual_device="onnx", backend=backend) + + with ( + patch("local_transcriber.cli.load_config", return_value={}), + patch("local_transcriber.cli.detect_device", return_value="onnx"), + patch( + "local_transcriber.cli.load_model", + return_value=(model, "onnx", backend, "/models/gigaam-v3-e2e-rnnt"), + ), + patch("local_transcriber.cli._transcribe_file", return_value=tfr), + ): + out = runner.invoke(app, [str(audio)]) + + content = (tmp_path / "test-transcript.md").read_text(encoding="utf-8") + assert out.exit_code == 0 + assert "- **Устройство**: ONNX (CPU)" in content + + def test_cli_custom_options(tmp_path): audio = tmp_path / "test.mp3" audio.write_bytes(b"fake") @@ -1424,7 +1448,8 @@ def test_format_device_info_openvino_legacy(): assert _format_device_info("openvino") == "OpenVINO (CPU)" -def test_format_device_info_cpu(): +def test_format_device_info_distinguishes_onnx_from_faster_whisper_cpu(): + assert _format_device_info("onnx") == "ONNX (CPU)" assert _format_device_info("cpu") == "CPU"