Ollama: как развернуть свою модель и подключить её к приложению

Статья
27 октября 2026 15 мин 10

Когда приложение обращается к внешнему API LLM, часть инфраструктурных задач уже решена провайдером: он размещает модель, масштабирует вычисления и поддерживает endpoint. При локальном развертывании модели эти задачи приходится решать самостоятельно. 

Здесь на помощь приходит Ollama — это сервис, который позволяет загружать и запускать совместимые модели, а также предоставляет интерфейсы для администрирования — CLI для базового взаимодействия, UI для общения в окне чата и HTTP API для интеграции. Ollama можно использовать на рабочей станции для проверки гипотезы, а затем развернуть на отдельном сервере, к которому обращаются приложения и внутренние пользователи. При этом опыт управления, конфигурации и взаимодействия с моделью будет идентичен.

В этой статье расскажем, как установить Ollama на Linux-сервере, запустить нейросеть и подключить модель к приложению. Но прежде чем переходить к настройке, разберёмся, в каких случаях вообще стоит запускать AI-модель самостоятельно на своём сервере.
 

Как работает Ollama

Пользователь отправляет сообщение в чат-бот. Приложение передает запрос в службу через HTTP API. Тот же процесс можно проверить вручную из терминала с помощью CLI. Сервер Ollama определяет, к какой модели обращается клиент, подготавливает входной текст и запускает инференс — генерацию ответа на основе запроса.

Если модель уже загружена в память, обработка начинается без повторной загрузки её файлов. Если нет, то сначала файлы LLM загружаются с диска в RAM или VRAM при наличии GPU. Поэтому первый запрос может выполняться заметно дольше последующих. Посмотреть, какие модели сейчас загружены в память, можно командой ollama ps.

Для каждого запроса клиент указывает модель по имени и тегу, например gemma3:4b. Тег позволяет выбрать конкретный вариант семейства. Лучше указывать его явно: вариант по умолчанию может отличаться размером и требованиями к ресурсам. Доступные варианты перечислены в библиотеке.

Когда модель начинает генерировать текст, Ollama передает результат клиенту. Ответ можно получить целиком после завершения генерации или принимать по частям в потоковом режиме. Второй вариант удобен для чат-ботов и консультантов на сайте: пользователь видит начало ответа, не дожидаясь его полного формирования.

Схема развёртывания Ollama

Для разработчика и DevOps-команды практический сценарий выглядит так. Приложение и чат обращаются по сети к API-интерфейсу, открытому на сервере с моделью, которую обеспечивает Ollama. Сервис принимает запрос и определяет, к какой модели было обращение. Затем он запускает эту модель в обработку на GPU, компилирует запрос в понятный модели формат и запускает конвейер обработки. В результате получается ответ, после чего алгоритм идёт в обратном порядке. 

В качестве диаграммы можно представить это так.

Схема развёртывания Ollama

Такой вариант развертывания полезен, когда требуется фиксировать используемую версию LLM, тестировать разные варианты в одной среде или не отправлять запросы стороннему AI-провайдеру. Но важно понимать, самостоятельный хостинг не делает систему безопасной автоматически: журналы, веб-интерфейс и публично доступный API потребуют отдельной настройки доступа.

При необходимости перед Ollama можно разместить систему аутентификации SSO для WebUI, а для API обеспечить фильтрацию через Reverse Proxy. Например, на сервере с GPU можно держать саму службу и файлы модели, а на отдельном сервере развернуть Caddy для проксирования и авторизации запросов. Если команда разрослась и требуется более гибкая и глубокая система общения с нейросетью, то Open WebUI  без каких-либо переделок подключается через endpoint, совместимый с Ollama. 

Как выбрать конфигурацию сервера

При выборе конфигурации сервера можно опираться на базовое правило из трёх шагов:

  1. Определите тип вычислений (CPU или GPU). Для легковесных моделей (до 3B–4B параметров) и одиночных запросов без жестких требований к задержкам ответа достаточно многоядерного процессора (с поддержкой AVX2). Если планируется использовать модель от 4B–8B параметров, требуется высокая скорость генерации или параллельные запросы — критически необходима видеокарта (GPU), так как инференс упирается в параллельные вычисления и пропускную способность видеопамяти.
  2. Рассчитайте объем памяти (RAM / VRAM) под модель и контекст. Модель загружается в память целиком, поэтому ориентируйтесь на её вес в выбранном квантовании (например, Q4/Q8). К размеру весов добавьте запас на хранение контекста (KV-кэш) — от 20% до 50% от размера модели в зависимости от длины диалога и параллельных сессий. Если расчёт идёт для GPU, весь этот объём должен помещаться в VRAM.
  3. Заложите запас системных ресурсов под окружение. Для нормальной работы сервера прибавьте минимум 4 ГБ оперативной памяти под операционную систему и фоновые службы. На GPU-серверах системную RAM стоит выбирать с запасом в 1,5–2 раза больше объёма VRAM — это необходимо для быстрой загрузки слоёв модели с накопителя и разгрузки памяти при пиковых нагрузках.

Для ориентира собрали таблицу с общими вариантами наиболее частых задач — на основе практического опыта.

Сценарий

Паттерн использования модели

На что обратить внимание при выборе сервера

Базовый тест интеграции LLM с приложениемОдин клиент, короткие запросы, модель порядка 1B–3B  Процессор поколения AMD Ryzen 5 7000 или аналогичный Intel. ОЗУ — по формуле: размер модели + 4 ГБ на ОС и сервисы + 20% от размера модели (но не менее 2 ГБ) на хранение контекста 
Внутренний помощник для одного приложения или пользователяРегулярные запросы к модели порядка 4B–8B, параллельное исполнение 1–2 запросов, использование в качестве endpoint для агентаGPU начиная с поколения Nvidia RTX 3000 или аналогичный от AMD, объём VRAM от 12 ГБ. ОЗУ — размер модели + 50% (не менее 4 ГБ) для системы и приложений на сервере 
Сервис для команды или нескольких агентов, мульти endpoint для нескольких приложений или чатовНесколько клиентов, большая модель от 27B параметров, длинный контекст, параллельная работа с 3–4 запросамиGPU уровня Nvidia RTX 50-й серии (например, RTX 5090) или профессиональные решения этой архитектуры, аналогичные варианты от AMD. ОЗУ — вдвое больше объёма VRAM для быстрой загрузки модели и offload экспертных слоёв

Выбор конфигурации сервера для ИИ — довольно сложная задача, в которой важно учитывать много нюансов. Подробнее почитать об этом можно в другой нашей статье. 

Для текущего примера мы соберем в конфигураторе машину среднего класса, способную как запускать несколько небольших моделей агентского класса с 4–8 миллиардами параметров (например, gemma3:4b), так и крупную модель с большим числом параметров (например, qwen3.5:35b с 35 млрд параметров и контекстом в 200+ тысяч).

Конфигурация сервера для Ollama

Подготавливаем сервер к установке ПО

Ниже приведён пример для выбранного GPU-сервера с Ubuntu 24.04. Установленный шаблон системы изначально доступен для подключения по SSH, для безопасной авторизации будем использовать отдельно созданного пользователя с повышением привилегий через sudo. Для большинства DEB-based дистрибутивов команды будут идентичны. 

Что нужно сделать в первую очередь:

  • Подготовить окружение и установить недостающие драйвера.
  • Установить Ollama и настроить автозапуск её службы.
  • Развернуть первую модель и получить первый ответ.

Подключаемся к серверу, актуализируем список пакетов в репозиториях и проверяем наличие нужных системных утилит.

ssh user@server
sudo apt update
sudo apt install -y curl ca-certificates
подключение и подготовка сервера

Проверяем доступную оперативную память и свободное место на накопителях.

free -h
df -h
проверка доступной памяти

Ollama сама находит и использует на сервере компоненты для обработки модели, будь то CPU или GPU, однако без установки драйверов этих устройств система просто их не будет опознавать. Соответственно, служба запуска LLM тоже их не увидит. 

На нашем сервере используется видеоускоритель от NVIDIA, поэтому устанавливаем драйвера для его работы и проверяем доступность устройства в системе.

apt install -y nvidia-driver-610
nvidia-smi
проверка доступности устройства в системе

Утилита должна вывести данные о GPU и сведения о драйвере. При запуске сразу после установки драйвера она покажет отсутствие связи с ним, поскольку инициализация устройства производится только на старте системы. 

Перезагружаем сервер и видим уже совсем другую картину: видеокарта корректно определилась и передает в систему данные о себе.

данные о видеокарте

До установки нужно подумать о сетевом доступе. Ollama предоставляет API на порту 11434, но для первого запуска его достаточно использовать локально — с самого сервера. Не нужно открывать этот порт для всех внешних подключений. Когда понадобится подключиться извне, можно использовать SSH-туннель, приватную сеть или обратный прокси с аутентификацией и TLS.

Разворачиваем Ollama и получаем первый ответ

Теперь разберем, как запустить Ollama на подготовленном нами сервере. Воспользуемся базовой командой установки приведенной в документации.

curl -fsSL https://ollama.com/install.sh | sh
установка Ollama

Команда скачивает установочный скрипт и сразу выполняет его. В процессе установки она запросит пароль администратора для развертывания бинарного файла в общем каталоге.

После установки проверяем установленную версию и запускаем службу с добавлением в автозапуск при старте системы.

ollama --version
sudo systemctl enable --now ollama

Тестируем, что доступ по API активен и возвращает данные при запросе.

curl http://127.0.0.1:11434/api/tags

Пустой список на этом этапе нормален, т.к. мы ещё не загружали LLM. Для первого теста загрузим модель gemma3:4b. Эта модель отлично подойдет для нашего сервера, но если в вашем варианте мощностей меньше, то подберите меньший вариант в библиотеке моделей и подставьте его точное имя.

ollama pull gemma3:4b
ollama run gemma3:4b
загрузка модели

При успешном запуске появится приглашение для ввода запроса. Попробуем вопрос, ответ на который легко оценить: «Объясни разницу между HTTP 401 и 403 в двух предложениях». Чтобы завершить интерактивный сеанс, введите /bye.

Также можно отправлять одиночный запрос без интерактивного режима.

ollama run gemma3:4b "Зачем нужны health checks в Kubernetes?"

Управляем моделями и расходом ресурсов

После установки Ollama на сервере и запуска первой модели основной этап можно считать пройденным. Теперь можно постепенно расширять список моделей, добавлять сервисы и другие нейросети. 

Во время эксплуатации важно следить за количеством свободных ресурсов, состоянием моделей (какие скачаны, какие загружены в память), не допускать переполнения диска. В этом помогут основные команды.

Команда

Что делает

ollama listПоказывает загруженные модели
ollama pull gemma3:4bСкачивает модель
ollama run gemma3:4bЗапускает диалог с моделью
ollama show gemma3:4bВыводит сведения о модели
ollama psПоказывает модели, находящиеся в памяти
ollama stop gemma3:4bОстанавливает модель в памяти
ollama rm gemma3:4bУдаляет локальную модель

Важно: не путайте остановку и удаление. ollama stop освобождает ресурсы, занятые выполняющейся моделью, ollama rm удаляет её локальные данные; если они понадобятся снова, модель придётся загрузить повторно.

При установке официальным скриптом на Linux служба обычно хранит модели в каталоге /usr/share/ollama/.ollama/models. Однако в этом примере мы запускали Ollama от отдельного пользователя ollama, поэтому расположение отличается. Проверим занятое место в каталоге с моделями.

du -h  ~/.ollama/models/
проверка занятого места в каталоге с моделями

В этом примере мы используем выделенный сервер, поэтому можем самостоятельно выбирать его конфигурацию и типы накопителей. Это позволит нам сразу избежать проблемы с переполнением системного диска загружаемыми моделями и недостаточной скоростью загрузки данных в VRAM. В иных ситуациях стоит рассматривать вариант установки ограничения доступного места через quota для пользователя, от которого запущена служба ollama. Для системы и данных приложений мы воспользуемся обычными SATA SSD в RAID 0, а для моделей возьмем скоростной NVME с монтированием в отдельный каталог. Нам остается только указать, где службе хранить модели через переменную OLLAMA_MODELS.

Добавляем переопределение параметра через оболочку самой systemd.

sudo systemctl edit ollama

Вставляем:

[Service]
Environment="OLLAMA_MODELS=/mnt/ollama-models"

Монтирование диска у нас уже выполнено, поэтому назначаем директории владельца и перезапускаем службу.

sudo chown ollama:ollama /srv/ollama-models
sudo systemctl restart ollama

Изменение пути не переносит ранее скачанные модели автоматически. Если модели уже загружены, нужно выполнить её перенос самостоятельно, либо удалить и скачать заново, тогда Ollama поместит её уже в новый каталог.

Превращаем Ollama в backend для приложения

Терминал удобен для проверки, но приложение обычно обращается к модели через HTTP API. Как мы уже проверяли ранее, Ollama принимает локальные запросы на 127.0.0.1:11434. Тогда у нас не было готовой модели, но теперь мы уже можем отправлять полноценные запросы.

curl http://127.0.0.1:11434/api/generate \
-H "Content-Type: application/json" \
-d '{
"model": "gemma3:4b",
"prompt": "Кратко объясни, что означает ошибка HTTP 502.",
"stream": false
}'
Ollama как HTTP API

Параметр stream: false возвращает результат одним JSON-ответом. Для интерфейса, который показывает текст по мере появления, можно использовать потоковую выдачу. Поля запросов и ответы описаны в документации API Ollama.

Если приложению нужна история сообщений с ролями, используйте endpoint. /api/chat.

curl http://127.0.0.1:11434/api/chat \
-H "Content-Type: application/json" \
-d '{
"model": "gemma3:4b",
"messages": [
{"role": "user", "content": "Назови три причины ошибки 502."}
],
"stream": false
}'

Если приложение развернуто на том же сервере, то оно может обращаться к локальному адресу Ollama. Если разработчик тестирует API со своей машины, хороший безопасный вариант — SSH-туннель.

ssh -L 11434:127.0.0.1:11434 user@server

Пока соединение активно, запросы к http://127.0.0.1:11434 на рабочем компьютере будут направляться к Ollama на сервере с LLM.

Для постоянной интеграции между несколькими серверами понадобится другая схема доступа: приватная сеть или защищённый прокси, ограничения по адресам, аутентификация и TLS. Не стоит открывать в публичную сеть доступ по API Ollama, это крайне небезопасно.

Добавляем чат-интерфейс с Open WebUI

Open WebUI — отдельное приложение с браузерным интерфейсом, которое можно подключить к Ollama. Оно полезно, если моделью должны пользоваться коллеги, не работающие с терминалом. В нашем примере Ollama выполняет модель на GPU-сервере Firstdedic, а Open WebUI предоставляет пользователям чат.

Ниже пример запуска Open WebUI в контейнере на том же Linux-сервере. Установим Docker из репозиториев системы, настроим ограничение firewall и запустим нужный нам контейнер.

sudo apt install docker.io
sudo ufw allow 22
sudo ufw enable

sudo docker run -d \
--name open-webui \
--restart unless-stopped \
--network host \ 
-e OLLAMA_BASE_URL=http://127.0.0.1:11434 \
-v open-webui:/app/backend/data \
ghcr.io/open-webui/open-webui:main

Параметр OLLAMA_BASE_URL указывает, куда интерфейс отправляет запросы. Том open-webui сохраняет данные приложения между перезапусками контейнера. Порт ollama опубликован на 127.0.0.1, поэтому нам требуется указать режим работы сети Docker - host, иначе контейнер не сможет получить доступ к локальным портам системы. 

Для проверки откроем туннель с рабочего компьютера.

ssh -L 8080:127.0.0.1:8080 user@server

Затем перейдем на http://127.0.0.1:8080 и выполнив небольшую первоначальную настройку учётной записи попадаем в окно чата. 

окно чата Ollama

Если модель не отображается, проверьте ollama list на сервере и логи контейнера с приложением.

docker logs open-webui

У образа с тегом main версия может меняться. Для воспроизводимой установки в рабочей среде выберите проверенный тег по инструкции Open WebUI. Если планируете открыть интерфейс команде, дополнительно настройте HTTPS, распределите доступы команды и настройте резервное копирование данных.

Что проверить перед рабочей нагрузкой

Успешный ответ на один запрос подтверждает установку, но ещё не показывает готовность сервиса. Перед подключением пользователей протестируйте систему на задачах, для которых она развернута.

Проверьте связь с GPU на сервере. Хотя ситуация в последнее время сильно улучшилась, но на системах Linux до сих пор встречаются ситуации с несовместимостью софта и различных аппаратных модулей. Если при установке драйвера система даже после перезагрузки не определила версию GPU, проверьте поддерживает ли выбранная версия драйвера вашу видеокарту. В Ubuntu можно установить рекомендованную по HWID версию драйвера командой ubuntu-drivers install чтобы минимизировать шанс подобной ситуации.

Скорость ответа. Отправьте несколько типичных запросов: короткий вопрос, длинный текст и запрос с тем контекстом, который будет использовать приложение. Если ответы слишком медленные, проверьте, выполняется ли модель на GPU командами:

sudo ollama ps
sudo nvidia-smi

Запас памяти. Следите за RAM и VRAM во время обработки запросов. Если модель успешно отвечает одному пользователю, это не гарантирует работу при нескольких одновременных обращениях. При нехватке памяти попробуйте меньшую модель, более короткий контекст или добавьте ресурсов к выбранному серверу.

Состояние службы. После перезагрузки сервера Ollama должна подняться автоматически. Если этого не происходит, то проверьте службу и её журнал:

sudo systemctl status ollama
sudo journalctl -u ollama -n 100 --no-pager

Место на диске. Сравните свободное место до и после загрузки моделей. Если они больше не нужны, удалите их через ollama rm. Для сервиса с несколькими моделями заранее выделите место под обновления и новые варианты.

Доступность API и интерфейса. Проверьте локальный запрос к /api/tags, подключение приложения и работу Open WebUI. Если локальный API отвечает, а удалённое приложение — нет, ищите проблему в сети, прокси или настройках подключения, а не в модели.

Права доступа. Убедитесь, что API не открыт всем пользователям интернета, а доступ к Open WebUI соответствует принятой в команде политике. При работе с внутренними данными также проверьте логи приложения и резервное копирование: важно понимать, где сохраняются запросы и настройки.

Итог: от первого запуска к собственному AI-сервису

Ollama сокращает путь от выбора модели до первого ответа: устанавливаете службу, загружаете модель и получаете доступ через терминал или API. Использование серверов с установленным GPU сильно ускорит работу модели и команды. 

Дальнейший путь зависит от задачи. Разработчику может хватить API и SSH-туннеля; команде пригодится Open WebUI; для рабочего приложения потребуется защищенная сетевая схема и тестирование параллельных запросов. Начните с небольшой модели и типичных для проекта данных — так проще оценить ресурсы и постепенно расширять сервис.



Назад к списку
Мы используем файлы cookie для работы сайта Вы можете отключить cookies в настройках своего браузера, но это может негативно повлиять на работу сайта. Оставаясь на сайте, вы соглашаетесь с использованием файлов cookie.