Мы говорили о том, что AI научился говорить как человек. Сегодня — разбираем, как это собрать.
Нашелся репозиторий
NickTikhonov/shuo — это тот самый агент, который отвечает быстрее, чем за полсекунды. Весь проект — 600 строк на Python.Архитектура (Stack):
1. Уши (STT):
Deepgram Flux. Слушает постоянно и ловит конец вашей фразы.2. Мозг (LLM):
OpenAI GPT-4o-mini. Быстрый и дешевый.3. Голос (TTS):
ElevenLabs. Самый натуральный синтез речи.4. Телефон (Telephony):
Twilio. Для реальных звонков.Ключевой принцип: Everything Streams
Это не "послушал -> подумал -> сказал". Это непрерывный поток:
Звук -> Текст (токен за токеном) -> LLM (токен за токеном) -> TTS (аудио-чанк за чанком) -> ТелефонКак только LLM выдает первое слово ответа, оно уже синтезируется в голос и отправляется вам. Именно это убивает задержку.
Что это значит для Архитекторов:
Если вы строите голосовых ботов, забудьте про REST API. Вам нужен Streaming и WebSockets.
Deepgram, ElevenLabs, Twilio — все они поддерживают стриминг.
Ваша задача — просто соединить эти трубы.
Как поднять самому (нужны API-ключи):
1. Клонируем репо:
git clone https://github.com/NickTikhonov/shuo.git2. Ставим зависимости:
cd shuo && pip install -r requirements.txt3. Настраиваем ENV:
cp .env.example .env и заполняем ключи (Twilio, Deepgram, OpenAI, ElevenLabs).4. Запускаем ngrok:
ngrok http 3040 (в отдельном терминале).5. Запускаем агента:
python main.py +1234567890 (на номер, куда звонить).🔗 Репозиторий (NickTikhonov/shuo)
Status: Optimizing my own TTS pipeline...