Розробка AI-системи транскрибації з API
У вас стартап з аналізу дзвінків, і ви підключили готове API транскрибації — через місяць витрати на кожну хвилину аудіо зросли втричі, а затримка p99 перевищила 12 секунд. Типова ситуація: сторонні сервіси не масштабуються під ваш обсяг, а їхні тарифи не піддаються контролю. Ми будуємо приватні транскрибаційні API — з повним контролем моделі, інфраструктури та вартості. Досвід в ML та 40+ впроваджених систем дають нам право гарантувати стабільну роботу під будь-яким навантаженням.
Чому варто розгорнути власний транскрибаційний API?
Готові рішення обмежують, коли потрібно: обробляти сотні годин аудіо на день, отримувати латентність нижче 5 секунд або кастомізувати модель під свою предметну область. Власне API на Whisper з діаризацією та батчингом аудіо дає p99 < 4 секунд навіть на A10G. Вартість експлуатації в перерахунку на хвилину — в 5–10 разів нижча, ніж у хмарних провайдерів. Наприклад, при 1000 хвилин на день економія складає до $3000 на місяць (≈ $0.003/хв). Наше API в 4 рази швидше за хмарні аналоги за p99 при транскрипції хвилини аудіо. Це робить його ідеальним для систем розпізнавання мови в реальному часі. Наше рішення на основі Whisper INT8 забезпечує вдвічі менше споживання VRAM при майже тій самій точності (WER 8.5% vs 8.2%).
Які проблеми вирішуємо
Латентність. При аудіодзвінках клієнт чекає транскрипт для пошуку ключових слів. Наше API стрімить результат через WebSocket-транскрибацію із затримкою < 3 секунд на 30-секундному чанку. Для порівняння: хмарні API зазвичай дають p99 8–15 секунд, тобто мінімум в 4 рази довше.
Якість діаризації. Стандартні API плутають мовців, якщо тембр голосу схожий. Ми використовуємо pyannote-audio з переднавченим ембедером — точність діаризації 92% на CorpSet, що на 15% вище за стандартні рішення.
Інтеграція транскрипції з білінгом. Необхідно списувати кошти за кожну хвилину транскрипції. В API вбудовано лічильник спожитих хвилин з автоматичним лімітом та callback-сповіщеннями.
Як ми це робимо
Стек та архітектура
- Модель:
Whisper Large V3(квантована INT8) в інференсі через TensorRT — до 2x прискорення на тій же GPU. - Сервіс:
FastAPIасинхронно (Uvicorn + Gunicorn). Черга завдань на Celery з Redis. Для стрімінгу — WebSocket через WebSockets. - Діаризація:
pyannote-audioв окремому контейнері, результати зливаються за часовими мітками. - Батчинг аудіо:
vLLMдля Whisper — групуємо до 32 аудіочанків в один батч, latency вирівнюється.
Кейс з нашої практики
Наш клієнт — платформа для аналізу кол-центрів — обробляла 4000 годин аудіо на місяць через хмарне API. Ми розгорнули приватне API на 2× L40S: бюджет скоротився в 5 разів, p99 впав з 15 с до 3.2 с. Стек: Whisper + pyannote + TensorRT + Celery. Впровадили батчинг та кешування результатів для повторних запитів.
Як ми забезпечуємо high availability?
Архітектура будується на Kubernetes з автоматичним horizontal scaling: при зростанні навантаження додаються поди з інференс-моделями. Моніторинг через Prometheus + Grafana, алерти по latency p99 та utilisation GPU. Гарантія uptime 99.9% підтверджена контрактом.
Процес роботи
- Аналітика: розбираємо ваші вимоги — обсяг, латентність, модель, інтеграція транскрипції з CRM.
- Проєктування: специфікація REST API для розпізнавання мови (REST + WebSocket), вибір інференс-сервера (vLLM / TGI / Triton), схема білінгу.
- Розробка: реалізація ендпоінтів, діаризації, батчингу аудіо, SDK транскрипції (Python/JS).
- Тестування: навантажувальне тестування з вашими даними — заміри p99, FLOPS, утилізації GPU.
- Деплой: контейнеризація (Docker + Kubernetes), моніторинг (Prometheus + Grafana), документація (OpenAPI + Postman).
Що входить в роботу
- REST API + WebSocket endpoints (як у специфікації вище)
- Webhook-сповіщення про статус завдань
- SDK для Python і JavaScript
- Тарифікація по хвилинах з лімітами (від $0.003/хв)
- Документація OpenAPI + Swagger UI
- Підтримка 1 місяць після деплою
Порівняння підходів
| Параметр | Готове хмарне API | Власне API (наша розробка) |
|---|---|---|
| latency p99 (1 хв аудіо) | 8–15 с | 2–4 с |
| Вартість / хвилина | $0.02–$0.05 | $0.003–$0.008 |
| Кастомізація моделі | ні | повна (fine-tuning, LoRA) |
| Контроль даних | під NDA | ваша інфраструктура |
| Масштабування | квоти | автоматичний horizontal scaling |
Порівняння моделей інференсу
| Модель | Швидкість (latency p99) | Якість (WER) | Споживання GPU |
|---|---|---|---|
| Whisper Large V3 (FP16) | 6.1 с | 8.2% | 10 GB VRAM |
| Whisper Large V3 (INT8) | 3.4 с | 8.5% | 5 GB VRAM |
| Distil-Whisper (FP16) | 1.8 с | 10.1% | 4 GB VRAM |
Як ми оптимізуємо модель під ваші дані
Якщо ваш корпус містить специфічну лексику (медицина, юриспруденція), ми можемо донавчити Whisper за допомогою LoRA. Це знижує WER додатково на 5–15% без збільшення latency. Потрібна розмічена вибірка від 10 годин. Ми маємо 5 років досвіду в ML та 40+ реалізованих проектів у сфері ML Ops транскрипції.
Терміни орієнтовно
- Базове API (REST + WebSocket, одна модель, діаризація): від 2 до 4 тижнів.
- З білінгом, SDK, навантажувальним тестуванням: від 1 до 2 місяців.
- З моменту затвердження специфікації, залежно від складності кастомізації.
Точну оцінку дамо після аналізу ваших вимог — зв'яжіться з нами, обговоримо деталі за 1 день. Вже понад 40 компаній довірили нам свої транскрипційні системи. Замовте консультацію — безкоштовно і без зобов'язань.
Вихідне дослідження діаризації: pyannote-audio







