Кратко по терминам
Ollama — это инструмент, который позволяет запускать локальные LLM (как LLaMA, Mistral, Gemma и другие)
LLaMA (Large Language Model Meta AI) — это серия открытых языковых моделей, разработанных компанией Meta
OpenWebUI — это веб-интерфейс для Ollama, похожий на ChatGPT, но работающий с локальными моделями
Требования к ресурсам
Memory 8+ GB
CPU 4+ (лучше GPU)
HDD 25+ GB
Установка Docker Engine
https://docs.docker.com/engine/install/ubuntu
# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install -y ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# Add the repository to Apt sources:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
# Install Docker
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Запуск локальной LLM
Создать файл entrypoint.sh
и выбрать любимую открытую LLM модель
#!/bin/bash
/bin/ollama serve &
pid=$!
sleep 5
ollama pull llama3
wait $pid
Создать файл Docker Compose манифеста docker-compose.yaml
---
version: '3.8'
services:
ollama:
image: ollama/ollama
ports:
- "11434:11434"
volumes:
- ./ollama:/root/.ollama
- ./entrypoint.sh:/entrypoint.sh
environment:
- OLLAMA_DEVICE=cpu
restart: always
tty: true
pull_policy: always
container_name: ollama
entrypoint: ["/usr/bin/bash", "/entrypoint.sh"]
openwebui:
image: ghcr.io/open-webui/open-webui:main
ports:
- "80:8080"
environment:
- OLLAMA_BASE_URL=http://ollama:11434
depends_on:
- ollama
restart: always
container_name: openwebui
...
Запустить
docker compose up -d
Готово! Web UI доступен по http://<host_IP>
Бонусом: запуск простейшего API запроса
from langchain_ollama import ChatOllama
llm = ChatOllama(
model="llama3:latest",
base_url="http://<VM_IP>:11434",
)
response = llm.invoke([("human", "What is LLM?")])
print(response.content)
Комментарии (6)
Politura
04.08.2025 14:33Нахрена докер? Нахрена старая никому не нужная модель? Почему именно dense 8b модель с 4 квантом, так что занимает чуть больше 4Гб памяти? А если у меня 16Гб видеопамяти? Или наоборот, видеопамяти нет, но много оперативной памяти? Очередной чувак спросил у ChatGPT: "напиши статью Как поднять локальрную LLM за 5 минут" и тот написал, основываясь на своих старых знаниях?
Ollama локально имеет смысл тогда, когда нужна интеграция с другими сервисами: автоматом поднимает и гасит нужную модель, что бывает очень полезно, у многих приложений есть настройки подключений к ollama серверу (Хотя не особо важно, к lm studio, или llama.cpp также можно подключаться используя openai api. Но удобно.). Сейчас, правда, они еще добавили свое приложение, но как-то его не трогал.
А так, локально LM studio клевая вещь, удобное локальное приложение, многие вещи есть из коробки, включая интеграцию с MCP серверами, причем, она там на уровне, например Gemma3 не заявленна как модель умеющая работать с tools, а из LM Studio нормально с ними работает, пробовал ее-же из агентского приложения сделанного на Goodle ADK - ни в какую не хочет с тулзами работать.
Moog_Prodigy
04.08.2025 14:33А lm studio может автоматом выгружать модель из памяти и загружать обратно когда прилетает запрос API? Поэтому олламу и держу пока. У нее есть таймауты на удержание модели. То есть на одном компе и оллама и SD (вот она не умеет выгружаться, приходится питонизировать и руинить процесс по команде от телеграм - бота) и Whisper (этот запускается только на время обработки).
Politura
04.08.2025 14:33Ну, я по этому и написал, что Оллама хороша для интеграций, у меня она параллельно с lm studio стоит. Хотя сейчас глянул, в настройках lm studio сервера тоже оффлоад есть, но сам его как сервер не пробовал, если честно.
Lev3250
04.08.2025 14:33Lm studio выгружает модель между запросами. Таймаут не замерял, но это происходило. В моём случае это минус, но не искал, настраивается ли. На поиграться хватило
Lev3250
LM studio сделает всё намного быстрее. Плюс GUI, плюс тут же сервер для подключения n8n, например. Плюс тут же загрузка моделей, настройка GPU offload, подстройка температуры, Top K, Top P и т.д.