Локальные LLM через Ollama: установка и использование
Ollama - это инструмент для запуска больших языковых моделей (LLM) локально на вашем компьютере или сервере. Он скачивает модели, управляет ими и предоставляет CLI и HTTP API без облачной подписки и отправки данных третьим сторонам. Ниже - зачем нужны локальные модели, как установить Ollama на Windows, macOS и Linux, какие модели выбрать и как подключить их к приложениям.
- Приватность - промпты и документы не уходят в облако
- Офлайн - работа без интернета после загрузки модели
- Бесплатно - нет платы за токены, только ваше железо и электричество
- API - совместимость с OpenAI-форматом для интеграций в Cursor, n8n, LangChain и другие инструменты
Что такое Ollama
Ollama - open-source runtime для локальных LLM. Проект упрощает то, что раньше требовало ручной настройки llama.cpp, CUDA, Python-окружений и конвертации весов: одна команда ollama pull llama3 скачивает модель, ollama run llama3 запускает интерактивный чат.
Под капотом Ollama использует llama.cpp и собственный формат Modelfile - аналог Dockerfile для моделей. Вы можете:
- запускать готовые модели из библиотеки Ollama;
- создавать кастомные варианты с system prompt, параметрами и адаптерами;
- обращаться к модели через REST API на
http://localhost:11434.
Ollama не заменяет облачные флагманы вроде GPT-5.6 или Claude Fable 5 для сложных агентных задач, но закрывает большой пласт сценариев: черновики текстов, суммаризация, классификация, RAG по внутренним документам, прототипирование промптов и разработка без расхода API-кредитов.
Зачем запускать LLM локально
| Критерий | Облачный API | Ollama (локально) |
|---|---|---|
| Приватность | Данные на серверах провайдера | Данные остаются на вашей машине |
| Стоимость | Оплата за токены | Бесплатно (кроме железа) |
| Латентность | Зависит от сети | Минимальная на localhost |
| Качество топ-моделей | Выше | Ниже у open-weight моделей |
| Офлайн | Нет | Да, после загрузки весов |
Локальные модели особенно полезны для:
- Корпоративных данных - контракты, переписка, кодовая база, которые нельзя отправлять в SaaS.
- Разработки - тестирование пайплайнов RAG и агентов без счёта за API.
- Edge и air-gapped - серверы без выхода в интернет, лаборатории, полевые условия.
- Экспериментов - быстрая смена моделей и параметров без смены провайдера.
Требования к железу
Объём RAM и наличие GPU определяют, какую модель можно комфортно запустить.
| Модель (пример) | Параметры | RAM (CPU) | VRAM (GPU) |
|---|---|---|---|
| Llama 3.2 | 3B | 4-8 GB | 4 GB |
| Qwen 3 | 8B | 8-16 GB | 6-8 GB |
| Llama 3.1 | 8B | 8-16 GB | 6-8 GB |
| Mistral | 7B | 8-16 GB | 6-8 GB |
| Qwen 3 | 32B | 32+ GB | 20-24 GB |
| Llama 3.1 | 70B | 64+ GB | 40-48 GB |
CPU-only работает, но медленно: 7B-модель на 16 GB RAM без GPU даёт несколько токенов в секунду. GPU (NVIDIA с CUDA, Apple Silicon с Metal) ускоряет генерацию в разы. На Mac с M1/M2/M3/M4 Ollama использует Metal из коробки; на Windows и Linux нужна видеокарта NVIDIA с актуальным драйвером.
Если RAM мало - выбирайте квантованные модели (Q4, Q5): они занимают меньше памяти с небольшой потерей качества.
Установка
Windows
- Скачайте установщик с ollama.com/download.
- Запустите
.exeи завершите мастер установки. - Ollama стартует как фоновый сервис; иконка появится в системном трее.
- Откройте PowerShell или cmd и проверьте:
ollama --version
macOS
brew install ollama
Или скачайте .dmg с сайта. На Apple Silicon Metal включается автоматически.
Linux
Официальный скрипт:
curl -fsSL https://ollama.com/install.sh | sh
Для systemd-сервиса после установки:
sudo systemctl enable ollama
sudo systemctl start ollama
Docker
Если нужна изоляция или деплой на сервер:
docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
Для GPU на Linux добавьте флаг --gpus all.
Первые шаги: CLI
Скачать и запустить модель
ollama pull llama3.2
ollama run llama3.2
pull загружает веса в ~/.ollama/models (или %USERPROFILE%\.ollama\models на Windows). run открывает интерактивный чат. Выход - /bye или Ctrl+D.
Полезные команды
ollama list # установленные модели
ollama ps # запущенные сейчас
ollama rm llama3.2 # удалить модель
ollama show llama3.2 # параметры и Modelfile
ollama pull qwen3:8b # конкретный тег
Теги задают размер и квантование: llama3.1:8b, mistral:7b-instruct-q4_K_M, qwen3:32b. Список тегов - на странице модели в библиотеке Ollama.
Одноразовый запрос без чата
ollama run llama3.2 "Объясни, что такое RAG, в трёх предложениях"
HTTP API
Ollama поднимает сервер на порту 11434. Формат близок к OpenAI Chat Completions - многие клиенты подключаются без доработок.
Chat (streaming)
curl http://localhost:11434/api/chat -d '{
"model": "llama3.2",
"messages": [{"role": "user", "content": "Привет!"}],
"stream": true
}'
Generate (простой prompt)
curl http://localhost:11434/api/generate -d '{
"model": "llama3.2",
"prompt": "Напиши haiku про локальные модели",
"stream": false
}'
OpenAI-совместимый endpoint
С версии, поддерживающей /v1/chat/completions:
curl http://localhost:11434/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "llama3.2",
"messages": [{"role": "user", "content": "Hello"}]
}'
В Cursor, Continue, Open WebUI и n8n укажите Base URL http://localhost:11434/v1 и имя модели из ollama list.
Какие модели выбрать
Ориентиры на 2026 год:
| Задача | Модели | Комментарий |
|---|---|---|
| Быстрый чат, слабое железо | Llama 3.2 3B, Qwen 3 4B, Phi-4 mini | Минимум RAM |
| Универсальный баланс | Llama 3.1 8B, Mistral 7B, Qwen 3 8B | Золотая середина для 16 GB |
| Код и инструкции | Qwen 3 Coder, DeepSeek Coder V2, Codestral | Лучше на SQL, Python, diff |
| Русский язык | Qwen 3, Llama 3.1, Saiga (через community) | Qwen силён в multilingual |
| Длинный контекст | Qwen 3, Llama 3.1 8B (128K+) | RAG и большие документы |
| Максимум качества локально | Qwen 3 32B, Llama 3.1 70B, Mistral Large | Нужен мощный GPU или много RAM |
Начните с Qwen 3 8B или Llama 3.1 8B - они дают приемлемое качество на типичном ноутбуке с 16 GB RAM. Для production-RAG сравните 2-3 модели на ваших реальных запросах: бенчмарки на сайте не заменяют ваш домен.
Modelfile: кастомная модель
Modelfile задаёт system prompt, temperature, контекст и базовую модель:
FROM llama3.2
PARAMETER temperature 0.3
PARAMETER num_ctx 8192
SYSTEM """
Ты - ассистент технической поддержки.
Отвечай кратко, по шагам, на русском языке.
Если не знаешь ответ - скажи об этом.
"""
Создание и запуск:
ollama create support-bot -f Modelfile
ollama run support-bot
Так можно зафиксировать поведение для команды без изменения клиентского кода.
Интеграции
Cursor и IDE
В настройках модели укажите OpenAI-compatible endpoint: http://localhost:11434/v1, API key можно оставить пустым или ollama. Модель - имя из ollama list. Локальная модель подходит для черновиков и рефакторинга; для сложного агентного coding по-прежнему удобнее облачные Codex или Claude Code.
Open WebUI
Open WebUI - веб-интерфейс в стиле ChatGPT поверх Ollama. Удобен для команды: история чатов, загрузка PDF, RAG из коробки.
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
n8n, LangChain, LlamaIndex
- n8n - узел Ollama Chat Model или HTTP Request к
/api/chat. - LangChain -
ChatOllama(base_url="http://localhost:11434", model="qwen3:8b"). - LlamaIndex -
Ollamaкак LLM и embedding (если модель поддерживает).
RAG локально
Типичный стек: Ollama (LLM + embeddings через nomic-embed-text или mxbai-embed-large) + ChromaDB или Qdrant + ваши документы. Всё работает offline после индексации.
Советы по эксплуатации
- Держите одну модель в памяти -
ollama psпоказывает загруженные; лишниеollama stop <name>освобождают RAM. - num_ctx - увеличивайте контекст только когда нужно; больший контекст = больше памяти и медленнее inference.
- Обновляйте Ollama - новые версии приносят ускорение и поддержку моделей.
- Мониторинг - на сервере следите за температурой GPU и swap; при нехватке RAM система начнёт thrashing.
- Не путайте приватность с безопасностью - локальная модель не отправляет данные наружу, но вредоносный промпт или уязвимый агент всё равно опасен на вашей машине.
Ограничения
- Качество open-weight 8B-моделей ниже топовых облачных флагманов на сложных рассуждениях и длинных агентных цепочках.
- Большие модели (32B+) требуют дорогого железа; облако может быть дешевле, чем GPU за $2000+, если нагрузка нерегулярная.
- Multimodal (изображения, аудио) в Ollama появляется модельно - проверяйте поддержку конкретного тега.
- Обновление весов - ваша ответственность; в облаке провайдер патчит модель сам.
Для многих задач связка Ollama + 8B-модель + RAG - практичный компромисс между качеством, стоимостью и приватностью.
Итог
Ollama снижает порог входа в локальные LLM до пары команд: установить, pull, run. API совместим с экосистемой OpenAI, поэтому ту же модель можно использовать в CLI, веб-UI, IDE и автоматизациях. Начните с Qwen 3 8B или Llama 3.1 8B на имеющемся железе, настройте Modelfile под свой сценарий и подключите RAG, если нужны факты из ваших документов - без отправки данных в облако.
Часто задаваемые вопросы
Нужен ли GPU для Ollama?
Нет, Ollama работает и на CPU-only, но inference будет заметно медленнее. Для комфортного чата с 7B-8B моделями желателен GPU (NVIDIA CUDA) или Apple Silicon с Metal. На 16 GB RAM без GPU разумный выбор - лёгкие модели 3B-4B или агрессивное квантование Q4.
Где хранятся скачанные модели и сколько они занимают?
По умолчанию в ~/.ollama/models (Linux/macOS) или %USERPROFILE%\.ollama\models (Windows). Размер зависит от модели: 7B-8B в Q4 - roughly 4-5 GB, 70B - десятки GB. Удаление: ollama rm <имя>. Путь можно переопределить переменной OLLAMA_MODELS.
Можно ли использовать Ollama в Docker на Windows с GPU?
Да, через WSL2 и NVIDIA Container Toolkit: Docker Desktop с WSL2-backend, драйвер NVIDIA для WSL, образ ollama/ollama с --gpus all. Нативный Docker Desktop без WSL2 GPU для Ollama обычно не даёт. Альтернатива проще - нативная установка Ollama для Windows с официального сайта.
Как подключить Ollama к Cursor или другому клиенту с OpenAI API?
Укажите Base URL http://localhost:11434/v1, API key - любая строка (например ollama), model - точное имя из ollama list (например qwen3:8b). Убедитесь, что Ollama запущен и модель уже сделала pull. Если клиент в Docker - используйте host.docker.internal:11434 вместо localhost.
Безопасно ли отправлять конфиденциальные данные в локальную модель?
Данные не уходят на серверы Ollama Inc. при локальном inference - обработка на вашей машине. Но логи приложений, история чата в Open WebUI и бэкапы диска могут сохранять промпты. Для строгого compliance настройте политику хранения, шифрование диска и не подключайте телеметрию сторонних UI. Локальность не отменяет риски утечки через снимки VM и общие учётные записи на сервере.