Добавить в корзинуПозвонить
Найти в Дзене
Ivan-Yurievich

Ollama — запускаем ИИ локально на своём сервере без облаков и подписок

Все эти ChatGPT, Claude, Gemini — удобно, мощно, но есть нюанс: твои данные уходят на чужие серверы. Для личных задач это окей. Но что если работаешь с чувствительными данными? Или просто хочешь чтобы ИИ работал без интернета, без подписки и без лимитов? Вот тут приходит Ollama. Это инструмент который позволяет запускать большие языковые модели прямо на своём железе — будь то домашний компьютер, рабочий ноутбук или VPS. Я поднял Ollama на своём сервере несколько месяцев назад. Расскажу как это работает, что реально можно делать и где границы возможностей. Ollama — это по сути менеджер локальных LLM-моделей. Он берёт на себя всю сложность: скачивает модели, управляет ими, предоставляет API. Ты просто говоришь «хочу llama3» — и через несколько минут у тебя работающая модель с API совместимым с OpenAI. Почему Ollama а не что-то другое? Несколько причин. Установка занимает одну команду. Нет зависимостей которые нужно собирать вручную, нет сложных конфигов. Работает из коробки. Огромный выб
Оглавление

Все эти ChatGPT, Claude, Gemini — удобно, мощно, но есть нюанс: твои данные уходят на чужие серверы. Для личных задач это окей. Но что если работаешь с чувствительными данными? Или просто хочешь чтобы ИИ работал без интернета, без подписки и без лимитов?

Вот тут приходит Ollama. Это инструмент который позволяет запускать большие языковые модели прямо на своём железе — будь то домашний компьютер, рабочий ноутбук или VPS.

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

Что такое Ollama и почему именно оно

Ollama — это по сути менеджер локальных LLM-моделей. Он берёт на себя всю сложность: скачивает модели, управляет ими, предоставляет API. Ты просто говоришь «хочу llama3» — и через несколько минут у тебя работающая модель с API совместимым с OpenAI.

Почему Ollama а не что-то другое? Несколько причин.

Установка занимает одну команду. Нет зависимостей которые нужно собирать вручную, нет сложных конфигов. Работает из коробки.

Огромный выбор моделей. Llama 3, Mistral, Gemma, Phi, CodeLlama, Qwen — всё это доступно одной командой. Новые модели появляются быстро.

API совместим с OpenAI. Это значит что любое приложение которое умеет работать с ChatGPT — можно переключить на локальную Ollama просто поменяв URL.

Работает на CPU если нет GPU. Медленнее, но работает. На GPU — быстро.

Требования к железу — честно

Здесь важно не питать иллюзий. Локальные LLM требуют ресурсов.

Оперативная память — главное ограничение. Модели загружаются целиком в RAM (или VRAM если есть GPU). Примерный ориентир:

  • Маленькие модели (1-3B параметров) — 2-4 ГБ RAM. Быстро, но качество скромное.
  • Средние модели (7-8B параметров) — 5-8 ГБ RAM. Хороший баланс качества и скорости.
  • Большие модели (13B+) — 10-16+ ГБ RAM. Качество высокое, нужно серьёзное железо.

CPU vs GPU. На CPU модели работают медленно — 5-15 токенов в секунду для средней модели. Это примерно 1-3 слова в секунду. Читать можно, но ждать придётся. На GPU — 30-100+ токенов в секунду, разница ощутимая.

Для сервера без GPU — берите модели до 8B параметров. Для домашней машины с игровой видеокартой — можно и 13B, и больше.

Установка — одна команда

На Linux и macOS:

bash

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

На Windows — скачать установщик с сайта ollama.com.

После установки Ollama запускается как системный сервис и доступен на localhost:11434.

Проверить что работает:

bash

ollama --version
curl http://localhost:11434/api/tags

Первые шаги — скачать и запустить модель

bash

ollama pull llama3.2

Скачает модель Llama 3.2 (3B параметров, ~2 ГБ). Хороший старт — небольшая, быстрая, качество приличное.

Запустить интерактивный чат:

bash

ollama run llama3.2

Пишешь вопрос — получаешь ответ прямо в терминале. Для выхода — /bye.

Популярные модели которые стоит попробовать:

bash

ollama pull llama3.2 # Meta Llama 3.2 3B — быстрая, лёгкая
ollama pull llama3.1:8b # Meta Llama 3.1 8B — хороший баланс
ollama pull mistral # Mistral 7B — отлично для кода
ollama pull codellama # CodeLlama — специализация на коде
ollama pull gemma2:9b # Google Gemma 2 9B — качественная
ollama pull phi3 # Microsoft Phi-3 — маленькая но умная
ollama pull qwen2.5:7b # Alibaba Qwen — хороша с русским языком

Посмотреть скачанные модели:

bash

ollama list

Удалить модель:

bash

ollama rm llama3.2

API — подключаем свои приложения

Вот где начинается настоящая польза. Ollama предоставляет REST API.

Простой запрос:

bash

curl http://localhost:11434/api/generate \
-d '{
"model": "llama3.2",
"prompt": "Объясни что такое Docker одним абзацем",
"stream": false
}'

OpenAI-совместимый endpoint:

bash

curl http://localhost:11434/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "llama3.2",
"messages": [
{"role": "user", "content": "Привет! Как дела?"}
]
}'

Этот endpoint совместим с OpenAI API. Любой код который использует OpenAI SDK — можно переключить на Ollama просто поменяв base URL:

javascript

import OpenAI from 'openai';

const client = new OpenAI({
baseURL: 'http://localhost:11434/v1',
apiKey: 'ollama', // любая строка, не используется
});

const response = await client.chat.completions.create({
model: 'llama3.2',
messages: [{ role: 'user', content: 'Напиши функцию на JavaScript' }],
});

console.log(response.choices[0].message.content);

Запуск на сервере с доступом извне

По умолчанию Ollama слушает только на localhost. Чтобы открыть доступ с других машин:

bash

# Установить переменную окружения
sudo systemctl edit ollama

Добавить в файл:

ini

[Service]
Environment="OLLAMA_HOST=0.0.0.0"

bash

sudo systemctl daemon-reload
sudo systemctl restart ollama

Теперь API доступен на всех интерфейсах. Не забудь закрыть порт файрволом и открыть только для нужных IP:

bash

ufw allow from 192.168.1.0/24 to any port 11434

Или настроить nginx как reverse proxy с авторизацией — чтобы не светить Ollama напрямую.

Docker — запуск в контейнере

Если хочешь изолировать Ollama в контейнере:

yaml

version: '3.8'

services:
ollama:
image: ollama/ollama
ports:
- "11434:11434"
volumes:
- ollama-data:/root/.ollama
restart: unless-stopped

volumes:
ollama-data:

bash

docker compose up -d

# Скачать модель в контейнер
docker exec -it ollama-ollama-1 ollama pull llama3.2

Реальные сценарии использования

Локальный помощник для кода. Настраиваешь Continue или Copilot-альтернативу в VS Code — указываешь Ollama как бэкенд. Автодополнение кода работает локально, никаких данных наружу.

Обработка чувствительных документов. Есть документы которые нельзя загружать в облако — медицинские данные, юридические документы, внутренняя документация компании. Ollama позволяет анализировать их локально.

Автоматизация на сервере. Bash-скрипт который анализирует логи и генерирует отчёт на человеческом языке. Или бот который отвечает на вопросы по внутренней документации. Всё это можно сделать с Ollama без внешних API.

Эксперименты и обучение. Хочешь разобраться как работают LLM, потестировать разные модели, сравнить качество — делай это локально без лимитов и оплаты.

Какие модели хорошо работают с русским языком

Честно — большинство западных моделей обучены в основном на английском. Русский они понимают, но качество ниже чем на английском.

Лучшие варианты для русского:

Qwen2.5 — китайская модель от Alibaba, неожиданно хорошо работает с русским. Рекомендую попробовать в первую очередь.

bash

ollama pull qwen2.5:7b

Llama 3.1 8B — Meta обучила эту модель на многоязычных данных, русский понимает лучше предыдущих версий.

GigaChat и другие русскоязычные модели — иногда появляются в репозитории Ollama, стоит периодически проверять.

Для серьёзной работы на русском языке — пока лучше использовать облачные модели. Локальные хороши для технических задач где основной язык — английский (код, конфиги, документация).

Ограничения — говорю честно

Качество ниже GPT-4 и Claude. Это факт. Локальные открытые модели хорошие, но до топовых закрытых моделей пока не дотягивают — особенно в рассуждениях и сложных задачах.

Скорость на CPU невысокая. Если нет GPU — придётся ждать. Для интерактивного чата терпимо, для batch-обработки большого количества документов — медленно.

Контекстное окно меньше. У большинства локальных моделей контекст 4-8k токенов против 200k у Claude. Длинные документы не влезут.

Требует ресурсов. На слабом VPS с 2 ГБ RAM — работать будет плохо. Минимум 4-8 ГБ RAM для комфортной работы.

Итог

Ollama — отличный инструмент если у тебя есть задачи которые требуют приватности, или ты хочешь поиграть с LLM без подписки. Установка простая, моделей много, API удобный.

Не ждать чудес в качестве — локальные модели хороши, но не идеальны. Используй их там где это подходит: помощь с кодом, анализ документов, автоматизация, эксперименты.

А если нужно максимальное качество — облачные модели пока выигрывают. Оптимальная стратегия: Ollama для рутины и приватных задач, Claude или GPT-4 для сложных случаев.