Compare commits
3
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f043f4e3b5 | ||
|
|
a65e5039f5 | ||
|
|
2e69c2f33d |
@@ -263,7 +263,8 @@ language = "en"
|
||||
- **Макс. качество (NVIDIA):** `large-v3` + `--compute-type float16`
|
||||
- **Макс. качество (Intel GPU):** `large-v3` + `--device openvino-gpu`
|
||||
- **Макс. скорость CPU (русский):** `--device onnx --model gigaam-v3` (17-29× RTF, без пунктуации; рекомендуется LLM-нормализация терминов после)
|
||||
- **CPU с пунктуацией (русский):** `--device openvino-cpu --model medium` (5-6× RTF; для встреч ≤30 мин с равномерной громкостью — на длинных файлах с тихими фрагментами возможны галлюцинации)
|
||||
- **Быстрый OpenVINO с низким WER:** `--device openvino-cpu --model large-v3-turbo --compute-type int8` (7,2× RTFx на контрольном Intel CPU; пунктуация может быть слабой)
|
||||
- **OpenVINO для чтения и конспекта:** `--device openvino-cpu --model medium` (около 6× RTFx; независимая оценка показала лучшую сохранность содержания, чем turbo)
|
||||
- **Быстрый тест:** `tiny` — для проверки пайплайна
|
||||
|
||||
<details>
|
||||
@@ -276,6 +277,7 @@ language = "en"
|
||||
| `small` | ~460 MB | ~1.5 GB | ★★★ | ★★★ |
|
||||
| `medium` | ~1.5 GB | ~2.5 GB | ★★ | ★★★★ |
|
||||
| `large-v3` | ~3 GB | ~2.5 GB | ★ | ★★★★★ |
|
||||
| `large-v3-turbo` | ~1 GB | — | ★★★★ | ★★★★ |
|
||||
|
||||
#### ONNX-модели (`--device onnx`)
|
||||
|
||||
@@ -331,11 +333,15 @@ device-aware дефолт недоступен для выбранной мод
|
||||
`float16`/`fp16` и `float32` значительно стабильнее на записях >20 минут.
|
||||
|
||||
> Для OpenVINO `--compute-type` выбирает предквантизированную модель (int8 или fp16),
|
||||
> а не runtime-параметр. Для `large-v3` по умолчанию выбирается `fp16`.
|
||||
> а не параметр времени выполнения. Для `large-v3` по умолчанию выбирается
|
||||
> `fp16`; для `large-v3-turbo` доступны явные варианты `int8` и `fp16`, а
|
||||
> неявный профиль OpenVINO использует `int8`.
|
||||
|
||||
</details>
|
||||
|
||||
Подробнее: бенчмарки, OpenVINO, совместимость GPU, результаты тестирования — [docs/gpu.md](docs/gpu.md).
|
||||
Подробнее: бенчмарки, OpenVINO, совместимость GPU, результаты тестирования —
|
||||
[docs/gpu.md](docs/gpu.md). Сравнение `large-v3-turbo` с CPU-профилями:
|
||||
[OpenVINO 2026.3 и large-v3-turbo](docs/benchmarks/2026-08-12-openvino-large-v3-turbo-comparison.md).
|
||||
|
||||
<details>
|
||||
<summary>Формат вывода</summary>
|
||||
|
||||
@@ -0,0 +1,188 @@
|
||||
# Сравнение OpenVINO large-v3-turbo с CPU-профилями
|
||||
|
||||
**Дата:** 2026-08-12
|
||||
|
||||
**Статус:** завершённое сравнение на трёх русскоязычных встречах
|
||||
|
||||
## Цель
|
||||
|
||||
Проверить обновление OpenVINO с линии 2026.0 до 2026.3 и определить, даёт ли
|
||||
`large-v3-turbo` практическое преимущество перед `medium` и быстрым профилем
|
||||
ONNX на CPU. Модель по умолчанию и порядок выбора `--device auto` в рамках
|
||||
сравнения не менялись.
|
||||
|
||||
## Оборудование и условия
|
||||
|
||||
- ноутбук Lenovo 82JD;
|
||||
- Intel Core i7-11800H, 8 ядер / 16 логических процессоров, 2,30 ГГц;
|
||||
- 64 ГиБ DDR4-3200, два модуля Kingston по 32 ГиБ;
|
||||
- Windows 11 Корпоративная, сборка 26200;
|
||||
- схема питания «Сбалансированная»;
|
||||
- OpenVINO 2026.3.0, OpenVINO GenAI и Tokenizers 2026.3.0.0;
|
||||
- Python 3.13.13;
|
||||
- язык во всех командах задан явно: `--language ru`;
|
||||
- модели запускались последовательно, без конкурирующих прогонов.
|
||||
|
||||
Кэш каждой модели предварительно прогревался. Время измерялось от запуска
|
||||
команды до её завершения и включает чтение и декодирование локального файла,
|
||||
но не скачивание модели. Загрузка процессора и свободная память опрашивались
|
||||
раз в две секунды. Минимум свободной памяти характеризует всю систему, а не
|
||||
только процесс распознавания.
|
||||
|
||||
Во время прогонов система оставалась пригодной для обычной интерактивной
|
||||
работы. На OpenVINO средняя загрузка составляла 54–62%. ONNX на двух записях
|
||||
кратковременно занимал процессор полностью, но наблюдаемого зависания системы
|
||||
не было. Это субъективное наблюдение, а не числовой порог приёмки.
|
||||
|
||||
## Контрольный набор
|
||||
|
||||
Использованы те же три записи общей длительностью 43:37 и те же внешние
|
||||
транскрипты, что в [сравнении GigaAM и Whisper](2026-08-11-gigaam-model-comparison.md).
|
||||
Размеры и SHA-256 всех шести локальных файлов совпали с опубликованным там
|
||||
манифестом.
|
||||
|
||||
Внешние транскрипты сами содержат ошибки, редактируют разговорную речь и
|
||||
добавляют разделение по говорящим. Поэтому WER служит сравнительным сигналом
|
||||
внутри одной записи, а не абсолютной оценкой качества.
|
||||
|
||||
## Методика
|
||||
|
||||
Команды OpenVINO имели следующий вид:
|
||||
|
||||
```powershell
|
||||
uv run transcribe <recording.mp4> `
|
||||
--device openvino-cpu `
|
||||
--model <medium|large-v3-turbo> `
|
||||
--compute-type <int8|fp16> `
|
||||
--language ru `
|
||||
--force
|
||||
```
|
||||
|
||||
Для ONNX использовались `--device onnx`, `--model gigaam-v3-e2e-rnnt` и
|
||||
`--compute-type int8`. WER считался после удаления метаданных, таймкодов и
|
||||
обозначений говорящих, приведения к нижнему регистру, замены `ё` на `е` и
|
||||
удаления пунктуации. Итоговый WER — микроусреднение: сумма замен, удалений и
|
||||
вставок делится на общее число слов во внешних текстах. Плотность пунктуации —
|
||||
число знаков `.,!?…:;` на 1000 распознанных слов.
|
||||
|
||||
## Проверка обновления OpenVINO
|
||||
|
||||
До изменения зависимостей OpenVINO 2026.0 `medium` INT8 был повторно запущен
|
||||
на всём наборе с прогретым кэшем. После обновления тот же профиль успешно
|
||||
прошёл автоматические проверки и реальный прогон.
|
||||
|
||||
| Стек и профиль | Суммарное время | RTFx | WER | Пунктуация / 1000 слов | Предупреждения |
|
||||
|---|---:|---:|---:|---:|---:|
|
||||
| OpenVINO 2026.0 medium INT8 | 417,0 с | 6,28× | 28,9% | 191 | 1 |
|
||||
| OpenVINO 2026.3 medium INT8 | 436,7 с | 5,99× | 25,3% | 185 | 0 |
|
||||
|
||||
На линии 2026.0 RSQM содержал 11 одинаковых последовательных сегментов и
|
||||
получил предупреждение о возможной галлюцинации. После обновления повтор не
|
||||
воспроизвёлся, а WER этой записи снизился с 34,2% до 23,3%. Суммарное время
|
||||
выросло на 4,7%; из-за естественного разброса единичных запусков это не следует
|
||||
считать устойчивой регрессией без серии повторов.
|
||||
|
||||
## Результаты после обновления
|
||||
|
||||
### Сводка по трём записям
|
||||
|
||||
| Профиль | Время | RTFx | WER | Пунктуация / 1000 слов | Средний / пиковый CPU | Минимум свободной памяти |
|
||||
|---|---:|---:|---:|---:|---:|---:|
|
||||
| OpenVINO medium INT8 | 436,7 с | 5,99× | 25,3% | 185 | 54,3% / 85% | 36,25 ГиБ |
|
||||
| **OpenVINO large-v3-turbo INT8** | **365,5 с** | **7,16×** | **24,0%** | 96 | 62,0% / 86% | 35,04 ГиБ |
|
||||
| OpenVINO large-v3-turbo FP16 | 545,0 с | 4,80× | 24,8% | 103 | 57,1% / 87% | 32,96 ГиБ |
|
||||
| ONNX GigaAM v3 E2E RNN-T INT8 | **265,7 с** | **9,85×** | 29,1% | **290** | 70,7% / 100% | 35,52 ГиБ |
|
||||
|
||||
### По отдельным записям
|
||||
|
||||
| Запись | Профиль | Время | RTFx | WER | Пунктуация / 1000 слов |
|
||||
|---|---|---:|---:|---:|---:|
|
||||
| BDMA | medium INT8 | 137,0 с | 6,50× | **23,0%** | 194 |
|
||||
| BDMA | turbo INT8 | **118,7 с** | **7,51×** | 24,4% | 79 |
|
||||
| BDMA | turbo FP16 | 180,0 с | 4,95× | 26,2% | 60 |
|
||||
| BDMA | GigaAM RNN-T INT8 | **87,6 с** | **10,17×** | 29,0% | **326** |
|
||||
| RSQM | medium INT8 | 125,7 с | 6,72× | 23,3% | 171 |
|
||||
| RSQM | turbo INT8 | 116,9 с | 7,23× | **22,4%** | 4 |
|
||||
| RSQM | turbo FP16 | 170,2 с | 4,96× | 23,3% | 31 |
|
||||
| RSQM | GigaAM RNN-T INT8 | **92,9 с** | **9,09×** | 27,4% | **286** |
|
||||
| DataCat | medium INT8 | 174,0 с | 5,07× | 28,1% | 188 |
|
||||
| DataCat | turbo INT8 | **129,9 с** | **6,79×** | **24,7%** | 169 |
|
||||
| DataCat | turbo FP16 | 194,7 с | 4,53× | **24,7%** | 181 |
|
||||
| DataCat | GigaAM RNN-T INT8 | **85,2 с** | **10,36×** | 30,4% | **265** |
|
||||
|
||||
## Качественная оценка
|
||||
|
||||
Два независимых субагента читали полные транскрипты без таблицы численных
|
||||
метрик. Один оценивал читаемость и пригодность для конспекта и протокола,
|
||||
второй — сохранность содержания и терминов, пропуски, повторы и галлюцинации.
|
||||
|
||||
### Читаемость и пригодность результата
|
||||
|
||||
| Профиль | Читаемость | Для конспекта | Для протокола |
|
||||
|---|---:|---:|---:|
|
||||
| ONNX GigaAM RNN-T INT8 | **4/5** | **4/5** | **3/5** |
|
||||
| OpenVINO medium INT8 | 3/5 | 3/5 | **3/5** |
|
||||
| OpenVINO turbo INT8 | 2/5 | 3/5 | 2/5 |
|
||||
| OpenVINO turbo FP16 | 2/5 | 3/5 | 2/5 |
|
||||
|
||||
Проверяющий поставил GigaAM на первое место благодаря пунктуации, отделению
|
||||
реплик и естественному ритму. Из текста без труда извлекаются решения: собрать
|
||||
вопросы для архитектуры и сайзинга, не связываться с «дата-рентгеном» в пилоте,
|
||||
уточнить способ доступа к FineBI. При этом протокол требует сверки терминов:
|
||||
`XML` превращается в «Максмельная», `Spark` — в «парк», `MPP` — в «MP-шный».
|
||||
|
||||
Medium в основном сохраняет ход мысли, но нестабилен в названиях: «бутылочка в
|
||||
FineBI» вместо учётной записи, `NiFi` как `I5`, `edge cases` как `HKEYS`.
|
||||
Оба turbo-профиля иногда лучше узнают отдельные имена и термины, включая
|
||||
«Рома Иваницкий», `Open Lineage` и `DBC tables V`, однако длинные блоки почти
|
||||
без пунктуации приходится разбирать вручную. Практического преимущества FP16
|
||||
над INT8 по читаемости не найдено.
|
||||
|
||||
### Сохранность содержания
|
||||
|
||||
| Профиль | Смысл | Термины | Пропуски | Повторы и выдумки |
|
||||
|---|---:|---:|---:|---:|
|
||||
| ONNX GigaAM RNN-T INT8 | **5/5** | **4/5** | **4/5** | **4/5** |
|
||||
| OpenVINO medium INT8 | 4/5 | 3/5 | **4/5** | **4/5** |
|
||||
| OpenVINO turbo FP16 | 4/5 | 3/5 | 3/5 | **4/5** |
|
||||
| OpenVINO turbo INT8 | 3/5 | 3/5 | 3/5 | **4/5** |
|
||||
|
||||
Второй проверяющий также поставил GigaAM первым: он лучше удерживает ход
|
||||
рассуждения, отрицания и поручения. Среди OpenVINO medium оказался надёжнее
|
||||
обоих turbo-профилей по сохранности содержания, несмотря на худший WER.
|
||||
|
||||
Наиболее опасные искажения:
|
||||
|
||||
- turbo FP16 в DataCat пропустил оговорку о том, что API-контракт извлечён из
|
||||
JAR-файлов, а не документации; предположение выглядит установленным фактом;
|
||||
- turbo INT8 почти потерял обсуждение доступа к DBC, риска перегрузить FineBI
|
||||
через API и необходимости ограничить частоту запросов;
|
||||
- medium превратил поручение посчитать объём и квоту Teradata в плохо читаемое
|
||||
«нам требование это продать… конкретный объём в продате квоту»;
|
||||
- GigaAM один раз заменил «МТС хочет продать дата-рентген» на «ты хочешь
|
||||
продать дата-рентген», хотя соседняя фраза восстанавливает инициатора;
|
||||
- ключ поиска `IMSI плюс время` не сохранился точно ни в одном профиле;
|
||||
- у medium после фактического окончания RSQM появился одиночный сегмент «В».
|
||||
|
||||
Длинных повторяющихся или полностью выдуманных фрагментов после обновления
|
||||
проверяющие не нашли. Общий недостаток всех профилей — отсутствие надёжного
|
||||
разделения по участникам, что ограничивает пригодность для формального протокола.
|
||||
|
||||
## Вывод
|
||||
|
||||
- `large-v3-turbo` реально работает с OpenVINO 2026.3 в вариантах INT8 и FP16.
|
||||
- Turbo INT8 оказался на 16% быстрее medium INT8 и снизил суммарный WER с
|
||||
25,3% до 24,0%. Это лучший OpenVINO-профиль по численным показателям на
|
||||
данном CPU, но не по независимой оценке сохранности содержания и читаемости.
|
||||
- Turbo FP16 на этом CPU на 49% медленнее turbo INT8 и не дал выигрыша по WER.
|
||||
Его стоит оставлять доступным для явного выбора и других устройств, но не
|
||||
рекомендовать как основной CPU-профиль.
|
||||
- GigaAM RNN-T остаётся самым быстрым и лучше всех расставляет пунктуацию. Он
|
||||
уступает turbo по WER и сильнее загружает CPU, но оба независимых проверяющих
|
||||
признали его лучшим для чтения и сохранения делового содержания.
|
||||
- У turbo INT8 пунктуация нестабильна: на RSQM её почти нет. Для готового
|
||||
протокола может потребоваться последующая расстановка пунктуации.
|
||||
- Автоматических предупреждений о повторах или потере хвоста после обновления
|
||||
не было; ручная проверка нашла у medium одиночный ложный сегмент в конце RSQM.
|
||||
- Модель по умолчанию и порядок `--device auto` оставлены без изменений. Решение
|
||||
об их изменении требует отдельной продуктовой задачи.
|
||||
+13
@@ -28,6 +28,8 @@ OpenVINO ускоряет inference на x86 процессорах (Intel и AM
|
||||
|
||||
- **Модели**: предконвертированные из [HuggingFace](https://huggingface.co/OpenVINO) (int8/fp16)
|
||||
- **Дефолт**: `medium` + `int8` (для `large-v3` автоматически выбирается `fp16`)
|
||||
- **Быстрый профиль с низким WER**: явный `large-v3-turbo` + `int8`; для
|
||||
читаемости и сохранности содержания `medium` остаётся предпочтительнее
|
||||
- **Аудиодекодирование**: через PyAV (бандлит FFmpeg), системный ffmpeg не нужен
|
||||
|
||||
### Доступные OpenVINO модели
|
||||
@@ -39,9 +41,16 @@ OpenVINO ускоряет inference на x86 процессорах (Intel и AM
|
||||
| small | OpenVINO/whisper-small-int8-ov | — |
|
||||
| medium | OpenVINO/whisper-medium-int8-ov | OpenVINO/whisper-medium-fp16-ov |
|
||||
| large-v3 | OpenVINO/whisper-large-v3-int8-ov | OpenVINO/whisper-large-v3-fp16-ov |
|
||||
| large-v3-turbo | OpenVINO/whisper-large-v3-turbo-int8-ov | OpenVINO/whisper-large-v3-turbo-fp16-ov |
|
||||
|
||||
### Результаты тестирования OpenVINO
|
||||
|
||||
Актуальное сравнение OpenVINO 2026.3 на трёх русскоязычных встречах:
|
||||
[medium, large-v3-turbo и GigaAM](benchmarks/2026-08-12-openvino-large-v3-turbo-comparison.md).
|
||||
На Intel Core i7-11800H `large-v3-turbo` INT8 обработал 43:37 аудио за
|
||||
365,5 секунды (7,16× RTFx) при WER 24,0%. FP16 занял 545,0 секунды и получил
|
||||
WER 24,8%, поэтому для CPU рекомендуется INT8.
|
||||
|
||||
Реальные записи рабочих созвонов (русский, техтермины: SQL, PostgreSQL, LDAP, DLP и др.).
|
||||
|
||||
**Скорость (эталонный файл 16 мин, OpenVINO, medium int8):**
|
||||
@@ -76,6 +85,10 @@ OpenVINO ускоряет inference на x86 процессорах (Intel и AM
|
||||
- **small** — для быстрого сканирования большого объёма видео по маске (`*.mp4`). Ошибки в отдельных словах; для обработки ИИ (МОМ, конспект) рискованно — "рецензия" вместо "лицензия" может исказить смысл.
|
||||
- **medium** — для повседневного использования и обработки ИИ. Ключевые термины верные, единичные ляпы не влияют на смысл конспекта. Оптимальный баланс скорости и качества.
|
||||
- **large-v3** — для важных записей, где нужна дословная точность. Лучшая пунктуация и связность. На OpenVINO (416с) быстрее, чем medium на чистом CPU (734с) — лучшее качество при выше скорости.
|
||||
- **large-v3-turbo** — явный профиль для CPU с приоритетом скорости и низкого
|
||||
WER. В проверенном наборе INT8 быстрее и численно точнее medium, но хуже по
|
||||
независимой оценке читаемости и сохранности содержания; FP16 на CPU пользы
|
||||
не показал.
|
||||
|
||||
## CPU бэкенд (CTranslate2 / faster-whisper)
|
||||
|
||||
|
||||
+1
-1
@@ -10,7 +10,7 @@ dependencies = [
|
||||
"faster-whisper>=1.2.1,<2",
|
||||
"socksio>=1.0.0,<2",
|
||||
"nvidia-cublas-cu12>=12.4,<13; sys_platform == 'linux' and platform_machine == 'x86_64'",
|
||||
"openvino-genai>=2026.0.0.0,<2026.1; sys_platform != 'darwin' and (platform_machine == 'x86_64' or platform_machine == 'AMD64')",
|
||||
"openvino-genai>=2026.3.0.0,<2026.4; sys_platform != 'darwin' and (platform_machine == 'x86_64' or platform_machine == 'AMD64')",
|
||||
"onnx-asr[cpu,hub]>=0.12,<0.13",
|
||||
"onnxruntime>=1.28,<2",
|
||||
]
|
||||
|
||||
@@ -23,6 +23,8 @@ MODEL_REPOS: dict[tuple[str, str], str] = {
|
||||
("medium", "fp16"): "OpenVINO/whisper-medium-fp16-ov",
|
||||
("large-v3", "int8"): "OpenVINO/whisper-large-v3-int8-ov",
|
||||
("large-v3", "fp16"): "OpenVINO/whisper-large-v3-fp16-ov",
|
||||
("large-v3-turbo", "int8"): "OpenVINO/whisper-large-v3-turbo-int8-ov",
|
||||
("large-v3-turbo", "fp16"): "OpenVINO/whisper-large-v3-turbo-fp16-ov",
|
||||
}
|
||||
|
||||
# Fallback: если точная пара не найдена, пробуем альтернативный compute_type
|
||||
|
||||
@@ -17,6 +17,20 @@ from local_transcriber.types import Segment
|
||||
# === _resolve_repo ===
|
||||
|
||||
|
||||
def test_model_catalog_contains_supported_profiles():
|
||||
assert MODEL_REPOS == {
|
||||
("tiny", "int8"): "OpenVINO/whisper-tiny-int8-ov",
|
||||
("base", "fp16"): "OpenVINO/whisper-base-fp16-ov",
|
||||
("small", "int8"): "OpenVINO/whisper-small-int8-ov",
|
||||
("medium", "int8"): "OpenVINO/whisper-medium-int8-ov",
|
||||
("medium", "fp16"): "OpenVINO/whisper-medium-fp16-ov",
|
||||
("large-v3", "int8"): "OpenVINO/whisper-large-v3-int8-ov",
|
||||
("large-v3", "fp16"): "OpenVINO/whisper-large-v3-fp16-ov",
|
||||
("large-v3-turbo", "int8"): "OpenVINO/whisper-large-v3-turbo-int8-ov",
|
||||
("large-v3-turbo", "fp16"): "OpenVINO/whisper-large-v3-turbo-fp16-ov",
|
||||
}
|
||||
|
||||
|
||||
def test_resolve_repo_exact_match():
|
||||
backend = OpenVINOBackend(compute_type_explicit=True)
|
||||
assert backend._resolve_repo("medium", "int8") == ("OpenVINO/whisper-medium-int8-ov", "int8")
|
||||
@@ -60,6 +74,26 @@ def test_resolve_repo_explicit_large_v3_int8_respected():
|
||||
assert backend._resolve_repo("large-v3", "int8") == ("OpenVINO/whisper-large-v3-int8-ov", "int8")
|
||||
|
||||
|
||||
@pytest.mark.parametrize("compute_type", ["int8", "fp16"])
|
||||
def test_resolve_repo_large_v3_turbo_quantization(compute_type):
|
||||
backend = OpenVINOBackend(compute_type_explicit=True)
|
||||
|
||||
assert backend._resolve_repo("large-v3-turbo", compute_type) == (
|
||||
f"OpenVINO/whisper-large-v3-turbo-{compute_type}-ov",
|
||||
compute_type,
|
||||
)
|
||||
|
||||
|
||||
def test_resolve_repo_large_v3_turbo_unsupported_quantization_raises():
|
||||
backend = OpenVINOBackend(compute_type_explicit=True)
|
||||
|
||||
with pytest.raises(
|
||||
ValueError,
|
||||
match="Доступные варианты: fp16, int8",
|
||||
):
|
||||
backend._resolve_repo("large-v3-turbo", "float32")
|
||||
|
||||
|
||||
# === ensure_model_available ===
|
||||
|
||||
|
||||
@@ -101,6 +135,27 @@ def test_ensure_model_available_downloads(mock_download, tmp_path):
|
||||
assert any("Скачиваю" in s for s in statuses)
|
||||
|
||||
|
||||
@patch("local_transcriber.backends.openvino.snapshot_download")
|
||||
def test_large_v3_turbo_model_is_resolved_and_created(mock_download, tmp_path):
|
||||
model_dir = tmp_path / "large-v3-turbo"
|
||||
model_dir.mkdir()
|
||||
(model_dir / "openvino_encoder_model.xml").write_text("<xml/>")
|
||||
(model_dir / "openvino_decoder_model.xml").write_text("<xml/>")
|
||||
mock_download.return_value = str(model_dir)
|
||||
mock_ov = MagicMock()
|
||||
|
||||
backend = OpenVINOBackend(ov_device="openvino-cpu", compute_type_explicit=True)
|
||||
model_path = backend.ensure_model_available("large-v3-turbo", "int8")
|
||||
with patch.dict("sys.modules", {"openvino_genai": mock_ov}):
|
||||
backend.create_model(model_path, "openvino-cpu", "int8")
|
||||
|
||||
mock_download.assert_called_once_with(
|
||||
"OpenVINO/whisper-large-v3-turbo-int8-ov",
|
||||
local_files_only=True,
|
||||
)
|
||||
mock_ov.WhisperPipeline.assert_called_once_with(str(model_dir), "CPU")
|
||||
|
||||
|
||||
# === create_model ===
|
||||
|
||||
|
||||
|
||||
@@ -279,7 +279,7 @@ requires-dist = [
|
||||
{ name = "nvidia-cublas-cu12", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'", specifier = ">=12.4,<13" },
|
||||
{ name = "onnx-asr", extras = ["cpu", "hub"], specifier = ">=0.12,<0.13" },
|
||||
{ name = "onnxruntime", specifier = ">=1.28,<2" },
|
||||
{ name = "openvino-genai", marker = "(platform_machine == 'AMD64' and sys_platform != 'darwin') or (platform_machine == 'x86_64' and sys_platform != 'darwin')", specifier = ">=2026.0.0.0,<2026.1" },
|
||||
{ name = "openvino-genai", marker = "(platform_machine == 'AMD64' and sys_platform != 'darwin') or (platform_machine == 'x86_64' and sys_platform != 'darwin')", specifier = ">=2026.3.0.0,<2026.4" },
|
||||
{ name = "rich", specifier = ">=14.3.3,<15" },
|
||||
{ name = "socksio", specifier = ">=1.0.0,<2" },
|
||||
{ name = "typer", specifier = ">=0.24.1,<1" },
|
||||
@@ -416,35 +416,35 @@ wheels = [
|
||||
|
||||
[[package]]
|
||||
name = "openvino"
|
||||
version = "2026.0.0"
|
||||
version = "2026.3.0"
|
||||
source = { registry = "https://pypi.org/simple" }
|
||||
dependencies = [
|
||||
{ name = "numpy" },
|
||||
{ name = "openvino-telemetry" },
|
||||
]
|
||||
wheels = [
|
||||
{ url = "https://files.pythonhosted.org/packages/71/3f/95b15760d7ae4b7dfefdbadeccae9604985d4335b221350e1bb04701a158/openvino-2026.0.0-20965-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:452902e4b8fba526e8740622cd5638c457d3ae44da7b39e6d4ef7919be0e95d4", size = 53444542, upload-time = "2026-02-23T16:10:46.343Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/d4/26/82d326f3769c9e5c17d34ef10dd0aff4a94a3b550e1d2efe977e5754b84e/openvino-2026.0.0-20965-cp313-cp313-win_amd64.whl", hash = "sha256:14069e5af2ac8a77f6ea55d7020d34cc7d3538d49ebda91a18c00d4da830ab58", size = 69160606, upload-time = "2026-02-23T16:10:52.9Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/fe/8e/52df01e8687f4711259729433226219c6839a0495988ddeb7e27af59aba8/openvino-2026.0.0-20965-cp314-cp314-manylinux_2_28_x86_64.whl", hash = "sha256:79ce4b5d7f3a7f84de878752d97620b84e0c4a8ee550fb3bca9fc36fe5669450", size = 53449059, upload-time = "2026-02-23T16:10:59.54Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/f7/a8/bc8e75d3f75ee2529a12be9522f52a8d0e5614f24c00f95a20b69f587d3c/openvino-2026.0.0-20965-cp314-cp314-win_amd64.whl", hash = "sha256:6d33440d290e67836825418134ecf9e17f150d50d3d9c07cf481997f5b1f0e6d", size = 69165824, upload-time = "2026-02-23T16:11:03.127Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/a8/06/1a2caa07bfcb4e057048b8d5515a7aff35a2aa53ab5379762c1685cbeacc/openvino-2026.0.0-20965-cp314-cp314t-manylinux_2_28_x86_64.whl", hash = "sha256:8cbe36e0dacd8676eb69c9a4b564fa430d784f6e2b0e18e7ebc363599256c184", size = 53502042, upload-time = "2026-02-23T16:11:09.744Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/2c/dd/6a05a399d90ad4e8b15e0d5a4dd7de90c10484cb1585bd65e7e69e779762/openvino-2026.0.0-20965-cp314-cp314t-win_amd64.whl", hash = "sha256:a9e5524322c42f6a1283148fb70085aba8640a7d3067ede896085abbff5e33fe", size = 69325734, upload-time = "2026-02-23T16:11:13.283Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/8c/d3/69e7083339f32621359f0bce2be3a7454db3c9a71fa7492f0a0941c00037/openvino-2026.3.0-22451-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:b7d09f20f009b9167a863f615a2b27400ce025bda8086cc72a2eb6ac3bf1d2af", size = 57480757, upload-time = "2026-08-04T09:06:44.336Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/48/f8/f71508784562a3d427f52f59d74a6364d559e6e82bb112cab5d6a6a677bb/openvino-2026.3.0-22451-cp313-cp313-win_amd64.whl", hash = "sha256:1c41f2d1072d600c260741b350aaf4a09d53f821a9a8fc8989bdc79a46b50a2c", size = 75797507, upload-time = "2026-08-04T09:06:51.858Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/d7/97/fdace942843da232ea06a5a67cc3a70d292873657dc933408fdb9bb796a8/openvino-2026.3.0-22451-cp314-cp314-manylinux_2_28_x86_64.whl", hash = "sha256:81a64aebd1a80da93bc9413b3ba9c93846c7cac57161cd4d7b287b354d77ad19", size = 57482441, upload-time = "2026-08-04T09:06:59.277Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/60/cb/ed637225c7373d9a4267e7fa7252c1f3767fbc9853a906d78068a279b73a/openvino-2026.3.0-22451-cp314-cp314-win_amd64.whl", hash = "sha256:07a8c1cb32e3f7942aab4a0c48404b591e63c89813906c7bc5b001f94bed447c", size = 75798958, upload-time = "2026-08-04T09:07:07.28Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/f0/3c/40c0bbd5c57fc0b5c0c41f9e6f0ec722f231ff25c37d20240d2baf446409/openvino-2026.3.0-22451-cp314-cp314t-manylinux_2_28_x86_64.whl", hash = "sha256:65f34103c28107e830e1fb70cb9c62afdb31cfde4f8b6056c942761796b1d4fe", size = 57526976, upload-time = "2026-08-04T09:07:15.131Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/dc/ca/927354fa957dd0e8c8f53401dcd1239c4cd50d95a26ff5da3bc4b502f4dc/openvino-2026.3.0-22451-cp314-cp314t-win_amd64.whl", hash = "sha256:17581c5acbdaf9bf503cd21d5ad852df7e547073ad7a529661b19f40ab3c8db6", size = 75963071, upload-time = "2026-08-04T09:07:24.796Z" },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "openvino-genai"
|
||||
version = "2026.0.0.0"
|
||||
version = "2026.3.0.0"
|
||||
source = { registry = "https://pypi.org/simple" }
|
||||
dependencies = [
|
||||
{ name = "openvino-tokenizers" },
|
||||
]
|
||||
wheels = [
|
||||
{ url = "https://files.pythonhosted.org/packages/d3/98/fe5716b9dc2f29286b68b98a4c67bc33003e3b02cf4d92236345a2d7280e/openvino_genai-2026.0.0.0-2050-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:08f73852a455d63453e7f74f22b0aebd0c3579f8cb89133e66e438c09df26b71", size = 4930444, upload-time = "2026-02-23T16:17:33.953Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/02/80/bc87545dfbbd7f4a3bd1667a4c9b5f1d8e1b476fec34225692bca6a86590/openvino_genai-2026.0.0.0-2050-cp313-cp313-win_amd64.whl", hash = "sha256:ada030b34a9e2fe0c6c406c2af2ce7b6e8cb16654329a469055fdac8a3eba19d", size = 2900293, upload-time = "2026-02-23T16:17:37.673Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/af/09/18e678f2d0ac4ee993244d3cf0e6a80ec7013add2972153ad355d889d8cc/openvino_genai-2026.0.0.0-2050-cp314-cp314-manylinux_2_28_x86_64.whl", hash = "sha256:77b73d1947d7f62a672857ef35d187074c6918de1db1d3f981452c2d67511c13", size = 4931196, upload-time = "2026-02-23T16:17:40.423Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/a4/be/3f02a70a16147b08b933908ef1c8af930ecd5c65ba78e14f988112d3d691/openvino_genai-2026.0.0.0-2050-cp314-cp314-win_amd64.whl", hash = "sha256:c59aeab5993c78194dc552cc9249bab509f7e44b1fb2f0d5a90c5e61869f06b8", size = 2900527, upload-time = "2026-02-23T16:17:43.244Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/6d/e8/7da6a1b86e3178e825560442ea4460ba4c92bb417fb8edda9e2210febec6/openvino_genai-2026.0.0.0-2050-cp314-cp314t-manylinux_2_28_x86_64.whl", hash = "sha256:d807c5cabdea20bab2199ffa736831f57baaf0571e80d19cf4b65004f6b00747", size = 4943971, upload-time = "2026-02-23T16:17:46.021Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/e3/19/221256ce3b0276bb3ba3ce7e8fc57b2968a662c2acde7427c342d917867f/openvino_genai-2026.0.0.0-2050-cp314-cp314t-win_amd64.whl", hash = "sha256:bb537f5a65203eee12326e6bb9578e834d96d94ab3fa48c806990ef04a455935", size = 2900592, upload-time = "2026-02-23T16:17:47.452Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/0f/94/6968a1b95f6b9931741ef1a302c2e7ab2d3193f76224fead0ed736506db3/openvino_genai-2026.3.0.0-2495-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:cd9f7bc035d2a23f01617e64f8963477335f15e048c6c9fcf1cce6c925fedf3e", size = 6211947, upload-time = "2026-08-04T09:34:59.252Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/50/74/cec114195adf6237c000fabd6c5da61f04edf3b1d719db7601e452977e4f/openvino_genai-2026.3.0.0-2495-cp313-cp313-win_amd64.whl", hash = "sha256:08411eb51bd0bddc717e2d97c541cc5cc946bde70e74da6dd7428149e5e0cdbb", size = 3669271, upload-time = "2026-08-04T09:35:02.699Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/ed/02/ed9f6773a40cc8b0fc166979abf6b56aed3a9f5840f9f0bf76fbf82cc349/openvino_genai-2026.3.0.0-2495-cp314-cp314-manylinux_2_28_x86_64.whl", hash = "sha256:2df610ec970b66b95cc4987d888c543e979bda515aed0c8ffda99954d10b4133", size = 6213490, upload-time = "2026-08-04T09:35:05.799Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/0d/9d/9e877a92ff22e9cec0cb930bcccd58013050726af91a9c1b8ff15264ed27/openvino_genai-2026.3.0.0-2495-cp314-cp314-win_amd64.whl", hash = "sha256:9331df790dcf57d796b6486ce9d9219ad4172c851cd657fafb9c5c0c82177c43", size = 3670597, upload-time = "2026-08-04T09:35:09.064Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/72/98/a4747cc685a5d2cc252ccb337c022e455f5761041e0d19980d0884ecadd9/openvino_genai-2026.3.0.0-2495-cp314-cp314t-manylinux_2_28_x86_64.whl", hash = "sha256:58a9e7493391ce8478440fbc14610968255a06a2717068f476b1ba519fe488a1", size = 6222203, upload-time = "2026-08-04T09:35:11.83Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/33/27/af5aee755635dc1cd19bb7406410a099364205c3a35e49766e54ca174c15/openvino_genai-2026.3.0.0-2495-cp314-cp314t-win_amd64.whl", hash = "sha256:0d3770d721f336549747b3ce054ad6bc726609e1fc3f5ce90c4954c63f23e4b9", size = 3670880, upload-time = "2026-08-04T09:35:14.895Z" },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -458,14 +458,14 @@ wheels = [
|
||||
|
||||
[[package]]
|
||||
name = "openvino-tokenizers"
|
||||
version = "2026.0.0.0"
|
||||
version = "2026.3.0.0"
|
||||
source = { registry = "https://pypi.org/simple" }
|
||||
dependencies = [
|
||||
{ name = "openvino" },
|
||||
]
|
||||
wheels = [
|
||||
{ url = "https://files.pythonhosted.org/packages/45/22/2b976c129d43b214034a16a999d54eb659d5b2f15c12b2be52ab44e3235d/openvino_tokenizers-2026.0.0.0-py3-none-manylinux_2_28_x86_64.whl", hash = "sha256:84ee496d9fe4ff7866ed9a1370cb71bf3af9526601a701c59d269854a2b0dfc7", size = 13693316, upload-time = "2026-02-23T16:12:13.41Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/24/86/4e7428a2fb350311a7f616c897ee1427d70cd814a2d64b2af9efb81fb881/openvino_tokenizers-2026.0.0.0-py3-none-win_amd64.whl", hash = "sha256:90f77c203c40623733e867754b952e8f0b86d9c86782abdbe9cf4bf2c82ce693", size = 13988492, upload-time = "2026-02-23T16:12:19.586Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/0b/68/c1ba2177f4ce1f455aae858548aece8b6491b862a6458b03c5d5dbf356ef/openvino_tokenizers-2026.3.0.0-py3-none-manylinux_2_28_x86_64.whl", hash = "sha256:9d35bb52d353a30d1194cd21c43d3949d0fac853b5bd3721994f70acfea051e4", size = 1829895, upload-time = "2026-08-04T09:28:12.083Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/c9/65/707874d377a245fbc5fbeaeac77e4aaf878f4e0938ab9d1203f8b01e5aab/openvino_tokenizers-2026.3.0.0-py3-none-win_amd64.whl", hash = "sha256:7c6fb2f1e9b6c3c4b2bdb992e69ef97869787d8486b193d155d24aaa9cd5fed0", size = 1541664, upload-time = "2026-08-04T09:28:15.307Z" },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
||||
Reference in New Issue
Block a user