MAATRIX / Блог / Голосовой ИИ-бот на своём VPS: STT, LLM и TTS

Голосовой ИИ-бот на своём VPS: STT, LLM и TTS

Блог MAATRIX · 2026-07-07

Голосовой ассистент — это три звена: распознать речь, подумать, ответить голосом. Соберём весь пайплайн на VPS, где вы контролируете и модель, и данные пользователей.

Из чего состоит голосовой бот

['Голосовой ИИ — это конвейер из трёх компонентов, каждый из которых можно держать локально на сервере:', '
  • STT (speech-to-text) — распознавание речи, обычно Whisper
  • LLM — генерация ответа, локальная модель или API
  • TTS (text-to-speech) — синтез голоса, например Piper
', 'Держать всё на своём VPS выгодно по приватности: аудио с голосом пользователя не уходит третьим лицам. Для аудио-обработки важен быстрый диск — AMD EPYC + NVMe у MAATRIX снимают узкое место на чтении моделей и временных файлов.', 'Голос — самые чувствительные данные: по нему идентифицируют человека. Отдавать аудио в облачные STT-сервисы — значит доверять запись голоса третьей стороне. Локальный пайплайн решает это: файл создаётся, распознаётся, озвучивается и удаляется, не покидая сервера. Это важно и с точки зрения закона о персональных данных, и просто по здравому смыслу для бизнеса.']

Нужен сервер под эту задачу?

Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK и США. Оплата картой РФ и по СБП.

Арендовать VPS для голосового бота

Требования к серверу

['Whisper и TTS ощутимо грузят CPU. Для модели whisper base/small и Piper комфортно на 4 vCPU и 8 ГБ RAM. Если добавляете локальную LLM — берите 16 ГБ RAM. Латентность конвейера складывается из трёх этапов, поэтому производительность на ядро здесь решает: чем быстрее CPU, тем короче пауза между вопросом и голосовым ответом.', '
apt update && apt install -y python3 python3-venv ffmpeg git\npython3 -m venv ~/venv && source ~/venv/bin/activate\npip install faster-whisper openai piper-tts
', 'ffmpeg обязателен: через него конвертируются входные аудио в нужный формат.']

Нужны сами нейросети для контента?

Генерируйте изображения, видео и озвучку нейросетями на falapi.io — десятки моделей в одном окне. Оплата картой РФ и по СБП.

Шаг 1: распознавание речи (Whisper)

['faster-whisper работает на CPU заметно быстрее оригинала. Пример распознавания файла:', '
from faster_whisper import WhisperModel\nmodel = WhisperModel("small", device="cpu", compute_type="int8")\nsegments, _ = model.transcribe("input.wav", language="ru")\ntext = " ".join(s.text for s in segments)\nprint(text)
', 'compute_type int8 экономит память и ускоряет инференс на CPU почти без потери качества. Модель загружайте один раз при старте сервиса и держите в памяти: повторная загрузка на каждый запрос добавит секунды задержки. Размер модели выбирайте по компромиссу: base быстрее и легче, small и medium точнее на именах и терминах, но требовательнее к CPU.']

Шаг 2: ответ LLM

['Распознанный текст отправляем в модель. Для приватного контура — локальная Ollama, для скорости — внешний API. Системным промптом задайте роль ассистента и попросите отвечать короткими фразами: длинные абзацы плохо звучат в синтезе и раздражают на слух. Голосовой диалог любит лаконичность.', '
from openai import OpenAI\nai = OpenAI(api_key="...", base_url="http://127.0.0.1:11434/v1")\nr = ai.chat.completions.create(model="qwen2.5:7b",\n    messages=[{"role": "user", "content": text}])\nanswer = r.choices[0].message.content
']

Шаг 3: синтез речи (Piper)

['Piper — быстрый нейросетевой TTS, работает офлайн. Скачайте голосовую модель и озвучьте ответ:', '
echo "$answer" | piper --model ru_RU-model.onnx --output_file reply.wav
', 'Готовый reply.wav отдаёте пользователю — через Telegram voice, веб-виджет или SIP-шлюз, в зависимости от канала. Piper поставляется с готовыми голосами под разные языки; русские модели скачиваются отдельными файлами .onnx вместе с конфигом. Выбор голоса влияет на восприятие бота не меньше, чем качество ответов, поэтому послушайте несколько вариантов перед запуском в прод.']

Сборка в сервис и типичные грабли

['Оберните пайплайн в FastAPI-эндпоинт (принимает аудио, возвращает аудио) и поднимите через systemd или gunicorn/uvicorn с автозапуском. Три модели — Whisper, LLM и Piper — держите загруженными в память единожды при старте процесса, тогда каждый запрос обрабатывается без прогрева.', '
  • Долгий холодный старт — держите модель Whisper загруженной в память, не грузите на каждый запрос.
  • Нет ffmpeg — Whisper упадёт на декодировании, ставьте пакет заранее.
  • Хрип в TTS — проверьте частоту дискретизации выходного WAV (обычно 22050 Гц).
  • Пики CPU — распознавание и синтез не запускайте параллельно на слабом тарифе.
']

Нужен сервер под эту задачу?

Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK и США. Оплата картой РФ и по СБП.

Арендовать VPS для голосового бота

Нужны сами нейросети для контента?

Генерируйте изображения, видео и озвучку нейросетями на falapi.io — десятки моделей в одном окне. Оплата картой РФ и по СБП.

Частые вопросы

Можно ли сделать голосового бота без GPU?

Да. faster-whisper и Piper работают на CPU; на быстром NVMe и EPYC задержки приемлемы для небольших нагрузок.

Куда уходит аудио пользователей?

Если STT, LLM и TTS локальные — никуда. Всё остаётся на вашем VPS, что важно для приватности.

Какой тариф выбрать?

Для STT+TTS хватит 4 vCPU / 8 ГБ RAM; с локальной LLM берите 16 ГБ RAM.

Поддерживается ли русский язык?

Да, у Whisper и Piper есть русские модели — качество распознавания и синтеза достойное.