Суть
Open-weight модель (Llama, Qwen, Mistral) скачивается и крутится у тебя. ollama run qwen3:8b поднимает локальный inference-сервер с OpenAI-совместимым API, к которому подключаются агенты и оболочки.
Зачем это нужно
- Конфиденциальность/compliance — данные не покидают периметр.
- Стоимость — нет оплаты за токены (платишь за железо).
- Подходит для простых/частых шагов агента, где не нужен фронтир (см. Model Selection).
Что чем является (сверено 2026-08)
Заметка ниже написана вокруг Ollama, и это верно для одного разработчика, но скрывает различие слоёв, которое решает всё при переходе в прод:
- Движки —
llama.cppи MLX. Всё остальное построено на них. - Слои опыта — Ollama и LM Studio. Оборачивают
llama.cpp(на Mac всё чаще MLX), дают реестр моделей и OpenAI-совместимый API. - Система обслуживания — vLLM. Другой класс задачи: PagedAttention и непрерывное батчирование.
Разница видна только под нагрузкой. На одном пользователе Ollama и vLLM примерно равны (~130-180 токенов/с). На конкурентной нагрузке vLLM даёт в 16-20 раз больше пропускной способности — в широко цитируемом замере Red Hat на одной A100 это 793 токена/с против 41.
Отсюда правило выбора: один разработчик и прототип — Ollama (одна команда установки, любая ОС); от пяти одновременных пользователей на NVIDIA под Linux — vLLM, разрыв слишком велик, чтобы его игнорировать; нестандартное железо, своя квантизация или встраиваемая цель — llama.cpp напрямую, без управляющей прослойки.
Как работает
- Что влезает: на MacBook Air M4 16GB — Qwen3-4B «оптимум для агентов», Qwen3-8B — лучшее качество.
- Установка:
curl -fsSL https://ollama.com/install.sh | sh→ollama run qwen3:8b; контекст:OLLAMA_CONTEXT_LENGTH=131072. - Оболочки (self-host через Docker): Dify (RAG/агенты/аналитика из коробки), Open WebUI (офлайн, LDAP), LobeChat (42 провайдера). Нужно: сервер, Docker, API-ключи провайдеров.
- На практике (первый агент): «более-менее разумная» локальная модель через Ollama требует ~12–15 ГБ RAM — на типовом ноутбуке тяжело, поэтому на старте часто берут облачный API («не насиловать ноутбуки»), а локаль оставляют для приватности (см. экономику в Model Selection). Векторный индекс для RAG поднимают на FAISS (можно проиндексировать корпус в облаке и перенести индекс на свою машину, см. Vector Store Persistence); запускается и в Google Colab.
- Локальный RAG-стек (практика): компактная Llama 3.1 8B в Colab + векторные хранилища в оперативной памяти (Chroma / Qdrant / FAISS, см. Vector Databases) + локальная модель эмбеддингов (~100–150 МБ, кэшируется на диск). GPU для инференса эмбеддингов не нужен — хватает CPU.
- Коробочные RAG-платформы (self-host через Docker): помимо Dify — RAGFlow (глубокий парсинг таблиц/формул, GraphRAG/RAPTOR, реранкинг из коробки; Docker Compose, 2 ГБ slim или 9 ГБ full с моделями; Ollama/vLLM для локальных LLM, полная изоляция данных).
- Инференс упирается в память: VRAM ≈ веса модели + KV Cache (растёт с длиной контекста). Поэтому при локальном запуске важны квантизация (Q4 и т.п.) и GQA, а не только число параметров. (Обучение моделей — отдельная история про GPU-фермы; для применения в агентах это не критично.)
Связано с
- Quantization — что стоит за Q4 и как формат влияет на выбор движка
- Inference Optimization — PagedAttention и непрерывный батчинг в системах обслуживания
- Model Selection — локальная модель как «дешёвый» tier
- AI Agent — где агент может работать офлайн/локально
- KV Cache — VRAM при инференсе = веса + KV-cache