Клиентский проект
Голосовой ИИ-ассистент — умные вопросы и ответы с голосовым вводом-выводом

Технологии
Услуги
- →Архитектура ИИ-конвейера (STT → LLM → TTS)
- →Интеграция OpenAI Whisper для распознавания речи
- →Интеграция GPT-4 с RAG по кастомной базе знаний
- →Синтез голоса ElevenLabs с потоковым воспроизведением аудио
- →Встраиваемый React-виджет — установка «из коробки»
- →Управление историей диалога с учётом сессии
Результаты
- ✓Полный цикл голосового ассистента: речь → транскрипция → рассуждение → голосовой ответ
- ✓Задержка менее 2 секунд от конца речи до первого голосового ответа
- ✓База знаний в рамках предметной области с векторным поиском (RAG)
- ✓Самодостаточный встраиваемый виджет — интеграция одним тегом скрипта
- ✓Потоковая передача на базе WebSocket для аудиоввода-вывода с низкой задержкой
Задача
Клиенту нужен был диалоговый ассистент, встроенный в продукт, — способный отвечать на вопросы в своей предметной области, понимать голосовой ввод и отвечать естественным голосом. Готовые виджеты чат-ботов работали только с текстом. Голос требовал объединения трёх отдельных ИИ-сервисов: распознавания речи, языковой модели и синтеза речи — с задержкой достаточно низкой, чтобы диалог ощущался как настоящий разговор.
Рассмотренные варианты
- Только браузерный Web Speech API — бесплатно, нулевая задержка для STT, но качество распознавания было ненадёжным на неанглийских акцентах и в мобильных браузерах. TTS звучал роботизированно. Отклонено по причинам качества.
- Полностью управляемая платформа голосовых ассистентов (Voiceflow, VAPI) — быстрое прототипирование, но привязка клиента к вендору с ограниченной настройкой слоя рассуждений. Отклонено ради сохранения контроля над промптом и контекстом LLM.
- OpenAI Whisper + GPT-4 + ElevenLabs, собственная оркестрация — выбрано. Лучшая в классе точность на каждом этапе; потоковая передача снижает воспринимаемую задержку; слой рассуждений полностью настраиваемый.
Решение
Аудио, захваченное в браузере, потоково передаётся на бэкенд на Python. Whisper расшифровывает аудио в реальном времени. Транскрипт отправляется в GPT-4 с системным промптом, ограниченным базой знаний предметной области клиента. Ответ возвращается потоком токен за токеном; по мере завершения предложений они передаются в ElevenLabs для синтеза. Полученные аудиофрагменты воспроизводятся в браузере последовательно — пользователь слышит первое предложение ещё до того, как модель закончила генерировать полный ответ.

Реализация
Бэкенд на FastAPI предоставляет WebSocket-эндпоинт для потоковой передачи аудио. Слой VAD (определение голосовой активности) на фронтенде решает, когда пользователь закончил говорить, прежде чем сбросить буфер в Whisper. База знаний хранится в виде векторных эмбеддингов (OpenAI Embeddings + Pinecone); релевантные фрагменты извлекаются и внедряются в контекстное окно GPT-4 на каждом шаге. История диалога поддерживается для каждой сессии, чтобы обрабатывать уточняющие вопросы. Виджет фронтенда — самодостаточный React-компонент, встраиваемый через один тег скрипта.
Результат
Сквозная задержка от конца речи до первого звукового слога: в среднем менее 1,8 секунды. Точность распознавания специализированной терминологии превысила 95%. Виджет развёрнут без изменений в основном приложении — один тег скрипта, нулевая связанность с бэкендом.
Открыт для работы по контракту
Я доступен для работы по контракту. Если у вас есть интересная идея проекта — запишитесь на звонок через Calendly.
Записаться на 30-минутный звонок