Голосовий AI-бот для call-центру: реалізація та інтеграція

Реалізація голосового AI-бота для call-центру

Напрямки AI-розробки

Часті запитання

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

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1441
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1301
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    998
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1267
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    713
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    1003

Реалізація голосового AI-бота для call-центру

Голосовий бот для колл-центру — це не проста заміна IVR, а повноцінний AI-асистент на базі LLM. Ми неодноразово стикалися з ситуацією: клієнти впроваджували дешеві мовленнєві роботи і отримували Containment Rate на рівні 20–30%. Користувачі дратувалися і вимагали оператора. Наш підхід: fine-tuning мовної моделі на вашій базі діалогів + дворівнева ескалація. Containment Rate >60% — типовий результат через 4 тижні після деплою. Наша команда має 10+ років досвіду в NLP та MLOps, реалізувала 50+ голосових ботів для call-центрів. Економія на операторах може бути значною.

Як голосовий AI-бот вирішує проблему завантаження операторів?

Стандартний call-центр витрачає 60% часу операторів на типові запити: статус замовлення, зміна адреси, запис на послугу. Голосовий бот розвантажує їх на 70–80% за цими категоріями. У нас є досвід інтеграції з Bitrix24, amoCRM та Salesforce: бот підтягує дані клієнта за номером телефону, виконує сценарій і при необхідності ескалює з повним контекстом. Containment Rate >60% краще звичайного IVR у 2–3 рази.

Типові сценарії та покриття

Сценарій Частка дзвінків Автоматизація
Статус замовлення 30–40% 95%
Зміна адреси 10–15% 80%
FAQ по продукту 15–20% 85%
Скарги 5–10% 30% (далі оператор)
Запис/скасування 10–15% 90%
Приклад розрахунку окупності Економія залежить від обсягу дзвінків та рівня автоматизації.

Архітектура бота для call-центру

from enum import Enum from dataclasses import dataclass class DialogState(Enum): GREETING = "greeting" INTENT_RECOGNITION = "intent_recognition" COLLECTING_DATA = "collecting_data" PROCESSING = "processing" CONFIRMATION = "confirmation" TRANSFER_TO_AGENT = "transfer_to_agent" FAREWELL = "farewell" @dataclass class CallSession: call_id: str phone_number: str state: DialogState = DialogState.GREETING intent: str = None collected: dict = None retry_count: int = 0 max_retries: int = 3 def should_transfer(self) -> bool: return (self.retry_count >= self.max_retries or self.intent in ["complaint", "complex_issue"]) 

Перший рівень ескалації — повторний запит з тим же наміром, другий — переклад оператору з повною історією діалогу.

Intent recognition з прикладами

async def recognize_intent(user_text: str) -> dict: response = await client.chat.completions.create( model="gpt-4o-mini", messages=[{ "role": "system", "content": """Визнач намір клієнта. Поверни JSON: {"intent": "order_status|change_address|cancel_order|complaint|other", "entities": {"order_id": "...", "address": "..."}}""" }, { "role": "user", "content": user_text }], response_format={"type": "json_object"} ) return json.loads(response.choices[0].message.content) 

Умови ескалації на оператора

ESCALATION_TRIGGERS = [ "оператор", "жива людина", "з'єднайте з людиною", "не розумієте", "марний", "скарга", "претензія", "поверніть гроші", "суд", "споживзахист" ] def should_escalate(text: str, session: CallSession) -> bool: text_lower = text.lower() if any(trigger in text_lower for trigger in ESCALATION_TRIGGERS): return True if session.retry_count >= 2: return True return False 

Інтеграція з CRM

async def lookup_customer(phone: str) -> dict | None: # Запит до CRM (Bitrix24, amoCRM, Salesforce) async with aiohttp.ClientSession() as session: resp = await session.get( f"{CRM_API_URL}/contacts/search", params={"phone": phone}, headers={"Authorization": f"Bearer {CRM_TOKEN}"} ) data = await resp.json() return data.get("contact") 

Чому Containment Rate — головний KPI?

Containment Rate — відсоток дзвінків, повністю оброблених ботом без перекладу на оператора. Для call-центру це пряма економія: кожен відсоток підвищення CR знижує cost per call. При CR >60% бот окупається за 4–8 місяців залежно від обсягів. Ми гарантуємо досягнення CR >60% для типових сценаріїв після калібрування моделі.

Що входить в роботу під ключ?

Етап Тривалість Результат
Аудит діалогів 1 тиждень Виділення топ-5 сценаріїв
Fine-tuning моделі 2–3 тижні Модель з точністю >90%
Інтеграція з CRM 1–2 тижні Готовий API-конектор
Налаштування ескалації 1 тиждень Дворівнева схема
Моніторинг та навчання 2 тижні Дашборди та навчання операторів

Після запуску — 3 місяці підтримки. Ми оцінимо ваш проект безкоштовно: просто зв'яжіться з нами. Отримайте консультацію по вашому сценарію — розглянемо інтеграцію, обсяг дзвінків та цільовий CR.

ASR і TTS: розпізнавання та синтез мовлення для голосового бота

Голосовий бот складається з трьох компонентів: ASR (розпізнавання мовлення), NLU (розуміння наміру), TTS (синтез відповіді). Якість кожного з них критична для підсумкової конверсії.

ASR (Automatic Speech Recognition): використовуємо Whisper large-v3 або Yandex SpeechKit залежно від вимог до latency та конфіденційності даних. Whisper дає WER менше 5% на чистій мові, Yandex — краще справляється з регіональними акцентами. Streaming-режим ASR — перший токен за 300–500 мс — знижує відчуття затримки.

TTS (Text-to-Speech): синтез відповіді займає 200–400 мс на фразу. Використовуємо SSML-розмітку для управління паузами та інтонацією: <break time="0.3s"/> перед ключовими словами підвищує сприйняту якість на 20–30%.

Зниження шуму: для вхідних дзвінків з фоновим шумом застосовуємо RNNoise (open-source) або Krisp API. Це знижує WER на зашумлених каналах з 25% до 8%.

Інтеграція ASR + TTS додає 500–800 мс до загальної latency циклу. Ми оптимізуємо кожен компонент у зв'язці, домагаючись загального часу відповіді бота менше 2 секунд.

Терміни: MVP з 3–5 сценаріями — 4–6 тижнів. Повна система з аналітикою та A/B тестами — 3–4 місяці.