Когда одной модели мало, а память кончается
Ollama стал стандартом для локального запуска LLM. Удобно, просто, работает. Но попробуйте держать в памяти сразу Llama 3.2 3B, Qwen2.5 7B и свежий DeepSeek-Coder 33B. Ваша оперативка взвоет, а система начнет подтормаживать. Именно эту боль и решает llama-swap — легковесный демон на базе llama.cpp, который умеет держать десятки моделей «на крючке», подгружая в RAM только ту, что нужна прямо сейчас.
Что это за зверь такой?
Llama-swap (актуальная версия на март 2026 — 2.1.0) это не графическое приложение и не монолитный сервер. Это системный демон, который работает в фоне и управляет пулом моделей в формате GGUF. Вы описываете в YAML-конфиге, какие модели и с какими параметрами хотите иметь под рукой. Демон загружает их в «спящем» состоянии, а когда приходит запрос по API — мгновенно подкачивает нужную в оперативку. После завершения работы модель можно выгрузить, освобождая место для следующей.
Ключевые фишки llama-swap 2.1
- Динамическая подгрузка моделей: В памяти одновременно активна только одна модель. Остальные ждут своего часа на SSD.
- Полная совместимость с OpenAI API: Эмулирует тот же endpoint, что и Ollama. Ваши скрипты для ChatGPT будут работать без правок.
- Минимальное потребление памяти в простое: Демон «весит» около 50 МБ, когда не обрабатывает запросы.
- Горячая конфигурация: Меняйте параметры моделей или добавляйте новые без перезапуска демона.
- Поддержка последних фич llama.cpp: Включая CUDA 12.6, ROCm 6.2 и Apple Silicon GPU через Metal 3.2.
Не ждите тут красивого интерфейса. Llama-swap — инструмент для терминала и автоматизации. Если вам нужны кнопочки и визуализация диалога, это не сюда.
Llama-swap против гигантов: что выбрать в 2026?
| Критерий | llama-swap | Ollama 0.6.x | LM Studio 0.3.5 |
|---|---|---|---|
| Запуск нескольких моделей | Да, с динамической подгрузкой | Да, но все в памяти | Нет, одна активная модель |
| Потребление RAM в простое | ~50 МБ | ~300-500 МБ + вес моделей | ~1 ГБ + вес модели |
| Интерфейс | Терминал, API | Терминал, API, простой веб-UI | Богатый графический интерфейс |
| Конфигурация | YAML-файл | Командная строка, Modelfile | Графические настройки |
| Идеальный сценарий | Сервер с множеством моделей, слабое железо | Быстрое переключение между 2-3 моделями на ПК | Тестирование и эксперименты на десктопе |
Как видно, llama-swap выигрывает там, где нужно экономить каждый мегабайт оперативки. Если у вас домашний сервер с 32 ГБ RAM и вы хотите одновременно обслуживать запросы к кодеру, ассистенту и специализированной модели для классификации — это ваш выбор. Ollama же, как мы отмечали в статье «Lemonade vs Ollama», остается королем простоты для персонального использования.
Как заставить это работать за 5 минут
1 Установка
Скачайте бинарник под вашу ОС с GitHub или установите через cargo, если любите Rust. На Linux это одна команда:
curl -sSL https://github.com/your-repo/llama-swap/releases/download/v2.1.0/llama-swap-linux-x64 -o /usr/local/bin/llama-swap
chmod +x /usr/local/bin/llama-swap2 Базовая конфигурация
Создайте файл config.yaml. Вот пример, который описывает две модели разного размера:
models:
- id: "llama-3.2-3b-instruct"
name: "Meta Llama 3.2 3B Instruct"
path: "/home/user/models/llama-3.2-3b-instruct-q4_k_m.gguf"
context_size: 8192
gpu_layers: 35
parameters:
temperature: 0.7
- id: "qwen2.5-coder-7b"
name: "Qwen2.5 Coder 7B"
path: "/home/user/models/qwen2.5-coder-7b-q5_k_m.gguf"
context_size: 32768
gpu_layers: 0 # Запуск на CPU
parameters:
temperature: 0.3
server:
host: "127.0.0.1"
port: 8080
api_key: "" # Оставьте пустым для локального использования3 Запуск и использование
Запустите демона и отправьте запрос через curl или ваш любимый клиент OpenAI.
# Запуск демона
llama-swap --config config.yaml
# В другом терминале - запрос к модели
curl http://127.0.0.1:8080/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "llama-3.2-3b-instruct",
"messages": [{"role": "user", "content": "Напиши hello world на Python"}]
}'Демон автоматически подгрузит модель llama-3.2-3b-instruct, обработает запрос и через 30 секунд неактивности (настраивается) выгрузит её обратно на диск.
gpu_layers в значение, которое полностью загружает модель в VRAM. Это ускорит переключение в разы.Кому этот инструмент спасет жизнь (а кому только навредит)
Берите llama-swap, если:
- У вас сервер с ограниченной RAM, но нужно обслуживать несколько моделей. Прямо как в сценарии с NVMe Swapping для Ollama, но нативно.
- Вы разрабатываете приложение, которое в разные моменты времени обращается к разным LLM (например, мультиагентная система).
- Вы часто тестируете новые модели и не хотите засорять оперативку.
- Вы фанат автоматизации и любите настраивать всё через конфиги.
Обходите стороной, если:
- Вам нужен красивый чат-интерфейс для общения с моделью. Тогда ваш выбор — LM Studio или веб-интерфейс Ollama.
- Вы работаете всегда с одной-двумя моделями и у вас хватает памяти. Зачем лишняя сложность?
- Вы новичок и только начали разбираться с локальными LLM. Сначала освоите базовый запуск моделей.
Мой прогноз? К середине 2026 года подход с динамической подгрузкой моделей станет стандартом для любого локального LLM-сервера. Пока же llama-swap — это нишевой, но бесценный инструмент для тех, кто устал убивать процессы и мониторить потребление памяти. Попробуйте, если ваш пайплайн уже перерос возможности Ollama. А если не хватает мощностей своего железа, для тестов можно взять в аренду GPU на партнерском облачном сервисе (так вы поддержите наш проект).
И да, не забудьте поставить звездочку на GitHub разработчикам. Такие проекты живут только благодаря энтузиазму.