MAATRIX / Блог / Деплой ИИ-модели в production на VPS

Деплой ИИ-модели в production на VPS

Деплой ИИ-модели в production на VPS
Блог MAATRIX · 2026-07-07

От «запустил в терминале» до «работает в проде» — дистанция. Продакшн-модель должна сама подниматься после перезагрузки, переживать сбои, отдавать стабильный API и не падать под нагрузкой. Собираем такой деплой.

Обсудить статью, задать вопрос или начать новую тему

Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.

Перейти в сообщество →

Выбираем рантайм под нагрузку

Для прода бери рантайм с OpenAI-совместимым API — тогда клиенты и SDK работают без переделок. Варианты:

  • llama.cpp server — лёгкий, CPU-friendly, отдаёт /v1/chat/completions.
  • Ollama — удобное управление моделями, простой API, хорош для старта.
  • vLLM — высокая пропускная способность, но заточен под GPU.

Для CPU-сервера практичен llama.cpp с GGUF-моделью — предсказуемо по памяти и быстро стартует.

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

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

Арендовать VPS под ИИ в production

Запуск как сервис через systemd

Продакшн-процесс не должен зависеть от твоей SSH-сессии. Оформляем systemd-юнит с автоперезапуском. Создай /etc/systemd/system/llm.service:

[Unit]
Description=LLM API
After=network.target

[Service]
User=llm
WorkingDirectory=/opt/llama.cpp
ExecStart=/opt/llama.cpp/llama-server -m /opt/models/model-q4_k_m.gguf --host 127.0.0.1 --port 8080 -c 8192
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable --now llm
journalctl -u llm -f

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

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

Вариант с Docker

Если предпочитаешь контейнеры — Ollama удобно катить в Docker с сохранением моделей в volume:

docker run -d --name ollama --restart unless-stopped \
  -v ollama:/root/.ollama -p 127.0.0.1:11434:11434 ollama/ollama
docker exec ollama ollama pull qwen2.5:7b-instruct-q4_K_M

Обрати внимание на -p 127.0.0.1:11434 — публикуем порт только на localhost, наружу отдаём через nginx.

Nginx-фронт: HTTPS, лимиты, ключ

Перед моделью ставим nginx: он терминирует HTTPS, режет флуд и проверяет API-ключ. Ограничение частоты запросов защищает от исчерпания ресурсов:

limit_req_zone $binary_remote_addr zone=ai:10m rate=10r/s;

server {
    location /v1/ {
        limit_req zone=ai burst=20;
        proxy_pass http://127.0.0.1:8080/v1/;
        proxy_read_timeout 300s;
    }
}

proxy_read_timeout поднят намеренно: генерация длинного ответа не должна обрываться по таймауту. Сертификат — через certbot.

Проверка и мониторинг

После деплоя проверь, что API отвечает в формате OpenAI:

curl http://127.0.0.1:8080/v1/chat/completions \
  -H 'Content-Type: application/json' \
  -d '{"messages":[{"role":"user","content":"ping"}]}'

Следи за ресурсами и логами в бою:

journalctl -u llm --since '10 min ago'
watch -n 2 'free -h; ss -s'

Ключевое для стабильности прода — не уходить в swap (см. расчёт RAM) и держать быстрый диск под модель. На AMD EPYC + NVMe у MAATRIX сервис поднимается за секунды после рестарта, а ежедневные бэкапы и root-доступ дают откат и полный контроль над конфигурацией.

Чеклист перед выкатом

  • Сервис под systemd/Docker с Restart=always.
  • Модель слушает 127.0.0.1, наружу только nginx с HTTPS.
  • Rate-limit и API-ключ включены.
  • RAM с запасом, swap не задействуется под нагрузкой.
  • Логи пишутся, есть команда быстрой диагностики.
  • Бэкап конфигов и модели настроен.

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

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

Арендовать VPS под ИИ в production

Обсудить статью, задать вопрос или начать новую тему

Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.

Перейти в сообщество →

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

Какой API отдавать клиентам?

OpenAI-совместимый (/v1/chat/completions). Его понимают почти все SDK и библиотеки, миграция между моделями проходит без переписывания кода.

systemd или Docker для прода?

Оба рабочие. systemd проще и легче по ресурсам для одного сервиса, Docker удобнее при нескольких сервисах и воспроизводимости окружения.

Как защитить продакшн-API от перегрузки?

Ставьте nginx с limit_req перед моделью, требуйте API-ключ и поднимите proxy_read_timeout, чтобы длинные ответы не обрывались.

Почему модель иногда резко тормозит в проде?

Чаще всего сервер ушёл в swap из-за нехватки RAM. Держите память с запасом и следите, чтобы swap не задействовался под нагрузкой.

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

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