Телефонный голосовой агент на Twilio, Deepgram и ElevenLabs с ответом за 400 мс
Автор с нуля собрал телефонного голосового агента с потоковым распознаванием речи, LLM и синтезом речи. После переноса сервера в ЕС и смены модели средняя задержка ответа упала примерно до 400 мс.
Сделано со своим агентом
Что сделали
Сервер на FastAPI принимает звук от Twilio через WebSocket и передаёт его в Deepgram Flux. Тот расшифровывает речь и определяет, когда собеседник закончил реплику. После этого расшифровка уходит в LLM, токены потоком идут в синтез речи ElevenLabs, а готовый звук сразу возвращается в Twilio. Если собеседник перебивает, агент отменяет запросы к LLM и синтезу и очищает буфер Twilio. Соединения с синтезом речи открыты заранее и держатся наготове.
Что получилось
При локальном запуске задержка была около 1,7 с. Развёртывание в ЕС сократило её примерно до 790 мс, это чуть лучше оценки Vapi около 840 мс. Замена gpt-4o-mini на llama-3.3-70b от Groq дала около 400 мс. Первая реплика отвечала медленнее.
На что обратить внимание
Сборка заняла около дня и примерно $100 на API. Держите сервер в том же регионе, что Twilio, Deepgram и ElevenLabs, потому что расположение сократило задержку вдвое.
Пояснение
Twilio это сервис телефонии для разработчиков, Deepgram распознаёт речь, ElevenLabs синтезирует голос. Vapi это готовая платформа для голосовых агентов, с её оценкой автор сравнивал свой результат. Groq это облако, которое очень быстро запускает открытые модели.
Кому пригодится
Разработчикам, которые делают голосовых агентов для звонков и упираются в задержку ответа.
Попробуйте сами
Помоги собрать телефонного голосового агента на [язык, например Python] для [задача, например ответы на звонки в стоматологию] с потоковым распознаванием речи, LLM и потоковым синтезом речи. Цель в том, чтобы отвечать быстрее 500 мс и нормально обрабатывать перебивания. Создай каркас проекта, подключи [провайдеры, например Deepgram, API LLM, ElevenLabs, Twilio] и добавь логирование задержки. Готово, когда тестовый звонок работает и в логе видна средняя задержка. Перед реальными звонками и покупкой номеров спрашивай меня.
Нужна помощь с запуском? Вступайте в сообщество AI Pack ↗
Источник: ntik.me ·