Как поднять голосового бота на своей модели на сервере
Голосовой бот, который слушает, понимает и отвечает голосом, — это связка трёх нейросетей, работающих на вашем сервере. Голосовой бот на своей модели на сервере даёт приватного голосового ассистента без облачных сервисов и оплаты за минуты: распознавание речи, языковая модель и синтез голоса крутятся на вашем железе. Разберём по шагам архитектуру, требования к GPU и VRAM и то, как собрать конвейер в единого работающего бота.
Содержание
Из чего состоит голосовой бот
Голосовой бот — это конвейер из трёх звеньев. Первое: распознавание речи (speech-to-text) переводит голос пользователя в текст — здесь работает Whisper. Второе: языковая модель обрабатывает этот текст и формирует осмысленный ответ — локальная LLM через Ollama. Третье: синтез речи (text-to-speech) превращает текст ответа обратно в голос. Пользователь говорит, бот думает и отвечает вслух — как живой собеседник.
Каждое звено — отдельная нейросеть, и все три можно запустить локально. Это и есть «своя модель»: весь путь от голоса до голоса проходит на вашем сервере, ничего не уходит наружу. Для голосовых сценариев с чувствительными разговорами — поддержка, консультации, внутренние ассистенты — приватность критична, ведь голос это персональные данные.
Применений много: голосовой помощник в приложении, автоматизация телефонных консультаций, надиктовка с ответом, голосовой интерфейс для устройств. Локальная реализация даёт независимость от облаков, отсутствие оплаты за минуты распознавания и синтеза, а также контроль над качеством и характером голоса. Взамен требуется GPU и настройка конвейера — разберём и то, и другое.
Какой VPS купить для Telegram-бота
Для одного простого Telegram-бота без локальной нейросети начните с Lite: 1 vCPU, 2 ГБ памяти и 40 ГБ NVMe. Если у бота есть база данных, обработка файлов или несколько сервисов рядом, выберите Старт: 2 vCPU и 4 ГБ памяти.
Один небольшой бот
Lite · 1 vCPU · 2 ГБ RAM
40 ГБ NVMe
Запуск бота постоянно, независимо от вашего компьютера.
Бот с базой данных
Старт · 2 vCPU · 4 ГБ RAM
80 ГБ NVMe
Начальная конфигурация для бота и сопутствующих сервисов.
После аренды VPS установите зависимости и настройте запуск бота по инструкции ниже. Размер файлов и число одновременных задач влияют на дальнейший выбор ресурсов.
В кнопках заказа выбрана локация в Великобритании. Другую страну можно выбрать при оформлении.
Оплата VPS картой РФ или по СБП доступна в личном кабинете. Для безналичной оплаты от юридического лица или ИП запросите счёт у support@maatrix.io, указав тариф и реквизиты.
Требования к серверу
Голосовой бот запускает сразу три модели, поэтому к железу он требовательнее простого текстового. Основной ресурс — GPU и его VRAM. Прикинем аппетиты звеньев: Whisper для распознавания в размере medium требует 5–6 ГБ, small — 2–3 ГБ; языковая модель на 7–13B — 5–10 ГБ; синтез речи обычно скромнее. Если запускать всё на одной карте, комфортна видеокарта на 16 ГБ и больше, чтобы модели поместились одновременно.
Для голоса особенно важна скорость, ведь в разговоре задержка ощущается сразу. Чем быстрее карта, тем короче пауза между репликой пользователя и ответом бота. На GPU весь конвейер укладывается в секунды, что приемлемо для диалога; на CPU задержка растёт до неудобной. Поэтому под живого голосового бота берут GPU-сервер, а CPU оставляют для тестов и неспешных сценариев.
Можно распределить нагрузку: держать звенья на разных картах или серверах, если объёмы велики. Но для старта и большинства задач одной карты на 16–24 ГБ достаточно для всех трёх моделей сразу. У MAATRIX GPU-сервер под голосового бота доступен с оплатой из России картой, СБП или криптой, что снимает вопрос с зарубежными платежами за мощную видеокарту.
Первое звено: распознавание речи
Начнём с распознавания через Whisper — оптимизированную реализацию faster-whisper. Подготовьте окружение и установите пакет с кодеками для аудио:
apt update && apt install -y python3-venv python3-pip ffmpeg
python3 -m venv venv && source venv/bin/activate
pip install faster-whisper
Звено принимает аудио пользователя (записанное приложением или пришедшее голосовым сообщением) и возвращает текст. Для голосового бота важен баланс скорости и точности: модель medium обычно даёт хорошее качество на русском при приемлемой скорости, а если задержка критична — берут small. Модель загружают в память один раз при старте сервиса, чтобы не тратить время на подъём при каждой реплике.
Качество распознавания напрямую влияет на весь диалог: если бот неверно расслышал вопрос, он и ответит не то. Поэтому на входном аудио стоит следить за чистотой записи и при необходимости применять шумоподавление. Явное указание русского языка ускоряет работу и повышает точность на русскоязычной речи.
Второе и третье звенья: модель и синтез
Распознанный текст идёт в языковую модель. Установите Ollama и подключите модель, которая сформирует ответ:
curl -fsSL https://ollama.com/install.sh | sh
ollama pull llama3.1
Логика здесь та же, что у текстового бота: к тексту пользователя добавляется системный промпт (роль и правила голосового ассистента) и история диалога, всё уходит в модель, возвращается ответ. Для голоса промпт стоит настроить на короткие, разговорные ответы — длинные монологи в устной форме утомляют, и бот должен говорить живо и по делу.
Третье звено — синтез речи, превращающий текст ответа в голос. Для локального синтеза используют открытые движки TTS: лёгкие вроде Piper дают быструю речь на скромных ресурсах, более тяжёлые модели вроде XTTS звучат естественнее и умеют клонировать голос по образцу. Выбор зависит от требований к качеству и скорости: для быстрого отклика берут лёгкий движок, для естественности — тяжёлый. Синтезированное аудио отправляется пользователю, и круг замыкается — бот ответил голосом.
Сборка конвейера в единого бота
Теперь соедините три звена в один поток. Оркестратор — код на Python — принимает аудио пользователя, прогоняет через Whisper в текст, отправляет текст в модель, получает ответ, синтезирует его в аудио и отдаёт обратно. Каждое звено — вызов своей модели, а оркестратор дирижирует последовательностью и передаёт данные между ними. Это и есть голосовой бот целиком.
Ключевой параметр качества — общая задержка, сумма времени всех трёх звеньев. Её минимизируют, держа модели загруженными в память, выбирая размеры под баланс скорости и качества и по возможности распараллеливая шаги. Для совсем живого диалога применяют потоковую обработку — начинают распознавать и отвечать, не дожидаясь конца реплики, но это усложнение, и для старта достаточно последовательного конвейера.
Подключите бота к каналу: голосовые сообщения в мессенджере, виджет на сайте с записью с микрофона, телефонная линия через соответствующий шлюз. Ядро — три модели плюс оркестратор — остаётся общим, меняется лишь способ получения и отдачи аудио. Так один голосовой бот обслуживает разные каналы, а вся обработка идёт приватно на вашем GPU-сервере.
Безопасность, обслуживание, рост
Голос — персональные данные, поэтому приватность здесь особенно важна, и локальная реализация как раз её обеспечивает: записи и расшифровки не покидают сервер. Тем не менее защитите сам сервер: закройте API моделей от прямого доступа из интернета, наружу выставляйте только канал через прокси с HTTPS и авторизацией, ограничьте частоту запросов от перегрузки.
Оформите все три модели и оркестратор на автозапуск, чтобы бот поднимался после перезагрузки сервера. Следите за загрузкой и температурой GPU через nvidia-smi — три модели вместе прилично греют карту под нагрузкой. Держите под контролем память: если модели не помещаются в VRAM вместе, скорость упадёт, и стоит взять карту побольше или уменьшить размеры звеньев. Логи помогают отлаживать конвейер, но храните их с оглядкой на приватность голоса.
По мере роста нагрузки распределяйте звенья по картам или наращивайте GPU-сервер — у MAATRIX это делается из панели с привычной оплатой из России. В итоге вы получаете приватного голосового ассистента, который слушает и отвечает голосом, работая целиком на вашем железе, без облачных сервисов и оплаты за минуты распознавания и синтеза.
Обсудить статью, задать вопрос или начать новую тему
Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.
Перейти в сообщество →Частые вопросы
Сколько VRAM нужно голосовому боту?
Он запускает три модели сразу: Whisper (2–6 ГБ), языковую модель (5–10 ГБ) и синтез речи. Для запуска всего на одной карте комфортна видеокарта на 16 ГБ и больше.
Почему для голоса нужен GPU?
Из-за задержки: в разговоре пауза ощущается сразу, а на GPU весь конвейер укладывается в секунды. На CPU задержка растёт до неудобной, поэтому CPU годится лишь для тестов.
Из чего состоит голосовой бот?
Из трёх звеньев: распознавание речи (Whisper), языковая модель для ответа (через Ollama) и синтез речи (TTS вроде Piper или XTTS). Оркестратор соединяет их в единый поток.
Как оплатить GPU-сервер из России?
У MAATRIX доступна оплата картой российского банка, по СБП, криптовалютой и токеном MAAT, зарубежная карта не требуется.
Готовы перейти к настройке?
Закажите Lite с конфигурацией, предложенной для старта, или сравните все тарифы. Оплата картой РФ и через СБП — в личном кабинете.
Заказать Lite Все тарифы и цены