MAATRIX / Блог / Как поднять self-hosted аналог ChatGPT на сервере

Как поднять self-hosted аналог ChatGPT на сервере

Как поднять self-hosted аналог ChatGPT на сервере

MAATRIX

Свой ChatGPT на собственном сервере — это приватные диалоги, отсутствие подписки и лимитов, независимость от блокировок и полный контроль над данными. Поднять self-hosted аналог ChatGPT на сервере сегодня реально за вечер: связка удобного веб-интерфейса и локальной модели даёт привычный чат с историей, выбором моделей и загрузкой файлов. Разберём по шагам архитектуру, требования к железу и настройку приватного AI-ассистента.

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

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

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

Из чего состоит self-hosted ChatGPT

Своя замена ChatGPT собирается из двух частей: движка, который запускает языковую модель, и веб-интерфейса, через который вы с ней общаетесь. Движок берёт на себя инференс — прогон модели и генерацию ответов, — а интерфейс отвечает за привычный чат: историю диалогов, переключение моделей, системные промпты, загрузку документов.

Самая популярная и простая связка — Ollama в роли движка и Open WebUI в роли интерфейса. Ollama устанавливает и запускает модели одной командой и отдаёт их по API, а Open WebUI даёт красивый чат в браузере, внешне почти неотличимый от ChatGPT. Обе части бесплатны, открыты и отлично работают вместе.

Есть гибкость и в источнике модели. Можно запускать модель локально на своём GPU ради полной приватности и отсутствия оплаты за токены, а можно подключить внешние API-ключи и использовать интерфейс просто как единую точку доступа к разным сервисам. Часто эти подходы совмещают: локальная модель для чувствительных данных и внешние — для сложных задач.

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

Железо зависит от того, где крутится модель. Если вы подключаете только внешние API, сервер нужен минимальный: интерфейс и оркестрация почти не нагружают систему, хватит 2 ядер и 2–4 ГБ RAM без всякого GPU. Это дешёвый вариант, если цель — обойти блокировки и получить единый приватный интерфейс к облачным моделям.

Если же вы хотите настоящую локальную модель ради приватности и независимости, нужен GPU. Объём VRAM определяет доступный размер модели: 7–8B в 4-битном квантовании требуют около 5–6 ГБ, 13B — порядка 10 ГБ, 32B — 20–24 ГБ. Видеокарта на 8–12 ГБ комфортно тянет модели, качества которых хватает для большинства повседневных задач — ответов на вопросы, помощи с текстами, программирования.

На мощном процессоре модель тоже запустится, но медленно — несколько токенов в секунду, что ощутимо в интерактивном чате. Для комфортной работы берут GPU-сервер. У MAATRIX его можно арендовать с оплатой из России картой, СБП или криптой, а для варианта с внешними API подойдёт и обычный недорогой VPS в зарубежной локации ради чистого IP и доступа к сервисам.

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

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

Арендовать GPU-сервер

Установка движка модели

Начнём с движка. Установите Ollama и скачайте модель — это база, к которой подключится интерфейс:

curl -fsSL https://ollama.com/install.sh | sh
ollama pull llama3.1

Проверьте, что видеокарта задействована, командой nvidia-smi — если карта видна, Ollama использует её автоматически. После загрузки модели движок уже работает в фоне и отдаёт её по локальному API на порту 11434. Можно сразу протестировать ответ в консоли командой ollama run llama3.1, чтобы убедиться, что модель отвечает.

Скачайте несколько моделей разного размера, если позволяет диск: маленькую и быструю для простых задач, покрупнее — для сложных. Open WebUI позволит переключаться между ними прямо в чате, как между разными «характерами» ассистента. Модели весят гигабайты, поэтому заложите на диск запас.

Запуск веб-интерфейса

Open WebUI проще всего поднять в Docker — один контейнер, который сразу подхватывает Ollama:

docker run -d -p 3000:8080 \
  --add-host=host.docker.internal:host-gateway \
  -v open-webui:/app/backend/data \
  --name open-webui ghcr.io/open-webui/open-webui:main

После запуска интерфейс доступен на порту 3000. При первом входе вы создаёте локальную учётную запись администратора — она хранится на вашем сервере, никакие данные наружу не уходят. Интерфейс сам обнаружит запущенный Ollama и покажет доступные модели в выпадающем списке.

Дальше вы получаете привычный опыт ChatGPT: диалоги с историей, системные промпты для настройки поведения ассистента, возможность загрузить документ и задавать по нему вопросы, переключение моделей на лету. Если хотите добавить облачные модели, укажите внешние API-ключи в настройках — интерфейс станет единой точкой доступа и к локальным, и к внешним сервисам.

Безопасный доступ снаружи

Чтобы пользоваться ассистентом не только с сервера, но и с телефона и ноутбука, нужен безопасный доступ извне. Никогда не выставляйте интерфейс в интернет голым портом — поставьте перед ним обратный прокси Nginx с HTTPS и доступом по домену:

apt install -y nginx certbot python3-certbot-nginx
certbot --nginx -d chat.ваш-домен.ru

Прокси проксирует запросы на локальный порт 3000 и добавляет шифрование. Встроенная в Open WebUI авторизация закрывает доступ паролем, а фаервол стоит настроить так, чтобы напрямую порт интерфейса извне не открывался — только через прокси. Так вы получаете приватный ChatGPT, доступный отовсюду, но защищённый от чужих. Для командного использования Open WebUI поддерживает несколько пользователей с разными правами, что удобно для небольшой компании с единым приватным ассистентом.

Приватность, обслуживание и рост

Главная ценность self-hosted решения — приватность. При локальной модели ваши диалоги, документы и данные не покидают сервер: ничего не отправляется во внешние сервисы, не используется для обучения чужих моделей и не хранится где-то на стороне. Для работы с чувствительной информацией — коммерческими данными, персональными сведениями, внутренними документами — это принципиальное преимущество.

По обслуживанию всё несложно: обновляйте контейнер Open WebUI и модели Ollama, следите за местом на диске и загрузкой GPU. Оформите оба сервиса на автостарт, чтобы они поднимались после перезагрузки сервера. Регулярно появляются новые, более сильные модели того же размера — обновление даёт прирост качества без смены железа.

Когда захочется запускать модели покрупнее ради лучшего качества ответов, понадобится карта с большим объёмом VRAM. Перейти на GPU-сервер помощнее у MAATRIX можно из панели с привычной оплатой из России, без переезда на другую площадку. Так ваш приватный ассистент растёт вместе с вашими задачами, оставаясь полностью под вашим контролем.

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

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

Арендовать GPU-сервер

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

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

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

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

Нужен ли GPU для self-hosted аналога ChatGPT?

Зависит от модели. Для локальной модели ради приватности — да, видеокарта на 8–12 ГБ VRAM тянет полезные модели. Если подключать внешние API, хватит обычного VPS без GPU.

Какая связка проще всего?

Ollama как движок модели и Open WebUI как интерфейс. Обе части бесплатны, ставятся за минуты, а чат внешне почти неотличим от ChatGPT с историей и выбором моделей.

Данные остаются приватными?

При локальной модели — полностью: диалоги и документы не покидают сервер и не уходят во внешние сервисы. Это ключевое преимущество для работы с чувствительной информацией.

Как оплатить сервер из России?

У MAATRIX доступна оплата картой российского банка, по СБП, криптовалютой и токеном MAAT, зарубежная карта не требуется.

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

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