Реалізація голосового помічника у мобільному застосунку

TRUETECH займається розробкою, підтримкою та обслуговуванням мобільних додатків iOS, Android, PWA. Маємо великий досвід та експертизу для публікації мобільних додатків до популярних маркетів Google Play, App Store, Amazon, AppGallery та інші.

Розробка та підтримка будь-яких видів мобільних додатків:

Інформаційні та розважальні мобільні програми
Новинки, ігри, довідники, онлайн-каталоги, погодні, фітнес та здоров'я, туристичні, освітні, соціальні мережі та месенджери, квіз, блоги та подкасти, форуми, агрегатори
Мобільні програми електронної комерції
Інтернет-магазини, B2B-додатки, маркетплейси, онлайн-обмінники, кешбек-сервіси, біржі, дропшиппінг-платформи, програми лояльності, доставка їжі та товарів, платіжні системи
Мобільні програми для управління бізнес-процесами
CRM-системи, ERP-системи, управління проектами, інструменти для команди продажів, облік фінансів, управління виробництвом, логістика та доставка, управління персоналом, системи моніторингу даних
Мобільні програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, платформи надання електронних послуг, платформи кешбеку, відеохостинги, тематичні портали, платформи онлайн-бронювання та запису, платформи онлайн-торгівлі

Це лише деякі з типів мобільних додатків, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 1735 послуг
Реалізація голосового помічника у мобільному застосунку
Складний
~1-2 тижні
Часті запитання

Наші компетенції:

Етапи розробки

Останні роботи

  • image_mobile-applications_feedme_467_0.webp
    Розробка мобільного додатка для компанії FEEDME
    792
  • image_mobile-applications_xoomer_471_0.webp
    Розробка мобільного додатку для компанії XOOMER
    671
  • image_mobile-applications_rhl_428_0.webp
    Розробка мобільного додатку для компанії RHL
    1097
  • image_mobile-applications_zippy_411_0.webp
    Розробка мобільного додатку для компанії ZIPPY
    969
  • image_mobile-applications_affhome_429_0.webp
    Розробка мобільного додатку для компанії Affhome
    914
  • image_mobile-applications_flavors_409_0.webp
    Розробка мобільного додатку для компанії FLAVORS
    495

Реалізація голосового помічника у мобільному додатку

Голосовий помічник у мобільному додатку — це не просто кнопка з мікрофоном. Це конвеєр з кількох компонентів: VAD (виявлення голосової активності), STT, NLU/розпізнавання намірів, обробка бізнес-логіки, TTS. Кожен компонент додає затримку. Мета — сумарна затримка від кінця мовлення користувача до початку відповіді ≤1.5 секунди. Це технічне обмеження, а не маркетингова мета.

Архітектура конвеєру

Мікрофон → VAD → STT → NLU → Логіка → TTS → Динамік
               ↕         ↕
           Потокова   База інтентів

VAD — виявлення голосової активності запобігає передаванню тиші до STT. WebRTCVAD (нативна бібліотека) або SileroVAD (ONNX/TFLite, ~1 МБ). VAD зменшує хибні спрацювання та економить виклики API.

STT — перетворення мови у текст. Варіанти: нативний SFSpeechRecognizer / Android STT для простих випадків; OpenAI Whisper API або Яндекс SpeechKit для російської мови з високою точністю.

NLU — вилучення інтенту та сутностей з тексту. Приклад: «додай молоко до списку покупок» → intent: ADD_TO_LIST, entity: {item: молоко, list: покупки}. Рішення:

  • Rasa NLU — відкритий код, self-hosted, навчається на ваших даних. Підходить для складних домен з багатьма інтентами.
  • Dialogflow ES/CX — NLU хмари Google, швидкий старт, хороша підтримка російської мови. Платна при великому обсязі.
  • LLM-базована класифікація — ChatGPT / Claude API з структурованим виводом (function calling). Гнучка, не потребує анотації навчальних даних, дорожче при високому трафіку.
  • On-device BERT — MobileBERT TFLite, ~50 МБ, класифікує інтенти з фіксованого набору. Працює офлайн.

Розпізнавання інтентів: що насправді працює

Для додатків з обмеженою доменою (розумний дім, інтернет-банк, навігація) — Rasa NLU або Dialogflow з явними інтентами. 50–200 прикладів навчання на інтент достатньо.

Для відкритої домени — LLM із системним промптом, що описує доступні дії. LLM повертає JSON через function calling:

{
  "intent": "navigate_to",
  "destination": "ресторан Пушкіна",
  "time": null
}

Затримка LLM-запиту: 400–800 мс для gpt-4o-mini, 200–400 мс для Claude Haiku. Додаємо до STT (800–1500 мс хмара) та TTS (~300 мс). Всього: 1.3–2.8 секунди. На межі комфортного.

Оптимізація: запускати LLM-запит паралельно під час останніх 200 мс STT (перед остаточним результатом), кешувати часті інтенти локально.

Контекст діалогу

Голосовий помічник без пам'яті контексту ламається на другому запитанні: «Хто директор Газпрому?» — відповідь. «А його дружина?» — без контексту незрозуміло, чия дружина. Контекст — масив останніх N повідомлень, передається кожному LLM-запиту або сесії Dialogflow.

Керування контекстом на мобілі: ConversationStore — singleton із списком @Published повідомлень. Максимум 10–15 останніх повідомлень (~2000 токенів контексту достатньо для більшості діалогів).

Слово пробудження (опціонально)

«Привіт, [AppName]» без натиснення кнопки — працює через PorcupineManager від Picovoice. На пристрої, користувацьке слово пробудження, ~500 КБ моделі. Споживання батареї — ~1.5% на годину на сучасних пристроях. На iOS потребує фонову аудіо-сесію, яку Apple перевіряє під час огляду.

Приклад

Корпоративний помічник для польових співробітників: голосове створення завдань та запитів у CRM без розблокування телефону. Стек: SileroVAD на пристрої → Яндекс SpeechKit потокова передача → Rasa NLU (self-hosted, 23 інтента) → API REST CRM → Яндекс SpeechKit TTS. Затримка від кінця мовлення до початку відповіді: медіана 1.1 секунди, p95 2.3 секунди. Rasa NLU на власному сервері забезпечив повний контроль над даними.

Терміни

Конвеєр STT + NLU з фіксованим набором інтентів + TTS — 2–3 тижні. Зі словом пробудження, контекстом діалогу та інтеграцією з бізнес-логікою — 4–6 тижнів. Вартість розраховується індивідуально.