fix(cli): добавлена маркировка ONNX в шапке транскрипта

- Зачем:
  - транскрипты ONNX и faster-whisper на CPU имели одинаковую подпись.
- Что:
  - для ONNX добавлено обозначение ONNX (CPU) в метаданных транскрипта.
  - различие движков и пользовательская шапка покрыты тестами.
  - примеры шапки в README и PRD приведены к текущему ONNX-профилю.
- Проверка:
  - env -u FORCE_COLOR -u COLUMNS -u LINES uv run pytest.
This commit is contained in:
Dmitry Dementiev committed 2026-08-29 01:21:10 +03:00
1 parent b412b73fc0
commit d43c3b7c9a
4 files changed
+33 -6

No files matched your search

+2 -2
View File
@@ -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)
---
+3 -3
View File
@@ -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)
---
+2
View File
@@ -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"
+26 -1
View File
@@ -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"