Как запустить мощную LLM локально

Локальный запуск Llama 4, DeepSeek, Qwen и других моделей. Без облака, без API-ключей, полный контроль над данными.

📊 Начинающий⏱ 8 мин

# 1. УСТАНОВКА OLLAMA

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

# Запуск и включение сервиса
sudo systemctl enable ollama
sudo systemctl start ollama

# Проверка статуса
sudo systemctl status ollama

# Установка на macOS
brew install ollama

# Установка на Windows (WSL2 рекомендуется)
wsl --install
# Затем выполните Linux-инструкцию внутри WSL

# 2. ЗАГРУЗКА МОДЕЛЕЙ

# Загрузка популярных моделей
ollama pull llama3.1          # Meta Llama 3.1 8B — универсальная
ollama pull deepseek-r1:8b      # DeepSeek R1 8B — reasoning
ollama pull qwen2.5-coder:7b    # Qwen 2.5 Coder 7B — для кода
ollama pull nomic-embed-text    # Эмбеддинги для RAG

# Просмотр установленных моделей
ollama list

# Удаление модели
ollama rm llama3.1

# 3. ИСПОЛЬЗОВАНИЕ ЧЕРЕЗ CLI

# Интерактивный режим
ollama run llama3.1

# Одноразовый запрос (неинтерактивный)
ollama run llama3.1 "Привет, напиши функцию на Python для сортировки"

# Внутри сессии:
#   >>> Напиши код для парсинга JSON
#   >>> /bye  — выход из сессии
#   >>> /help — список команд
#   >>> /show info — информация о модели

# 4. OPENAI-СОВМЕСТИМЫЙ API

# Ollama поднимает API на localhost:11434
# Проверка доступности:
curl http://localhost:11434/api/tags

# Отправка запроса через curl (chat completions)
curl http://localhost:11434/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "llama3.1",
    "messages": [
      {"role": "user", "content": "Привет!"}
    ]
  }'

# Streaming ответ:
curl -N http://localhost:11434/api/generate \
  -d '{"model":"llama3.1","prompt":"Расскажи про Python"}'

# 5. PYTHON SDK

# Установка OpenAI Python пакета
pip install openai

from openai import OpenAI

client = OpenAI(
    base_url="http://localhost:11434/v1",
    api_key="ollama"  # ключ обязателен, но значение любое
)

response = client.chat.completions.create(
    model="llama3.1",
    messages=[
        {"role": "system", "content": "Ты — полезный ассистент"},
        {"role": "user", "content": "Напиши hello world на Python"}
    ],
    temperature=0.7,
    max_tokens=500
)

print(response.choices[0].message.content)

# 6. ПРОДВИНУТЫЕ НАСТРОЙКИ

# Создание кастомного Modelfile
cat <<EOF > Modelfile
FROM llama3.1
PARAMETER temperature 0.5
PARAMETER num_ctx 8192
SYSTEM """Ты — эксперт по Python и DevOps. Отвечай на русском языке."""
EOF

# Сборка кастомной модели
ollama create my-custom-model -f Modelfile

# Проверка использования GPU
nvidia-smi

# Настройка через переменные окружения
export OLLAMA_HOST="0.0.0.0:11434"  # слушать на всех интерфейсах
export OLLAMA_NUM_PARALLEL=4        # параллельные запросы
export OLLAMA_KEEP_ALIVE="24h"    # держать модель в памяти

🔗 Полезные ссылки

📖 Ollama📖 Llama models📖 DeepSeek📖 Ollama GitHub