Files
gpu-rent/docs/llm.md
T
Leonid Pershin 64f93b4bf6 Update LLM support for llama.cpp and enhance configuration management
- Added support for `llamacpp-models.yaml` in `.gitignore` and implemented logic to copy it in `gpu-rent.ps1` and `gpu-rent.sh`.
- Enhanced CLI to prompt for llama.cpp model presets during setup and execution, improving user experience.
- Updated configuration handling to include `llamacpp_models_manifest` and related functions for managing llama.cpp models.
- Improved documentation in `cli.md` and `llm.md` to reflect changes in llama.cpp integration and model management.
- Refactored provisioning logic to handle llama.cpp model downloads and configurations effectively.
2026-08-21 06:25:12 +03:00

5.3 KiB
Raw Blame History

LLM рядом со SwarmUI (opt-in)

По умолчанию поднимается только SwarmUI. Ollama или llama.cpp — отдельно, когда нужны (помощь с промптами и т.п.).


Быстрый путь

Вариант A — wizard

gpu-rent setup

Выбери ollama или llamacpp. Для обоих спросит пресет моделей. Значение пишется в gpu-rent.vars (LLM_RUNTIME=…).

Вариант B — флаг на up

gpu-rent up --yes --ollama
gpu-rent up --yes --llm llamacpp

Вариант C — вручную в vars

LLM_RUNTIME=ollama

Потом обычный gpu-rent up --yes.

Чтобы выключить LLM на следующих сессиях: LLM_RUNTIME=none (на up старые unit’ы gpu-rent-ollama / gpu-rent-llamacpp останавливаются).

Голый gpu-rent без args — help, не up. Двойной клик: GPU_RENT_DEFAULT_ARGS=up --yes в gpu-rent.vars. Полный doctor на up: up -v.


Порты (loopback + туннель)

Сервис На VM На ноутбуке
SwarmUI 7801 17801
Ollama 11434 17811
llama.cpp 8080 17812
gpu-rent tunnel
gpu-rent open --llm

Клиент Ollama:

# Windows PowerShell
$env:OLLAMA_HOST = "http://127.0.0.1:17811"

После успешного up/tunnel CLI печатает access-card со всеми URL и MCP-сниппетом.


Ollama: модели

Файл Роль
ollama-models.example.yaml шаблон в git
ollama-models.yaml твой список (gitignore)

На up при LLM_RUNTIME=ollama CLI делает ollama pull по списку. Уже скачанные теги точно не трогает (foo:3bfoo:7b). Лишние модели на диске не удаляет.

Пресеты setup

preset tag зачем
recommended huihui_ai/qwen2.5-abliterate:7b RU/EN, ~5 GB, меньше отказов
light qwen2.5:3b быстрее, слабее
stock qwen2.5:7b официальный
alt richardyoung/qwen2.5-7b-instruct-abliterated другой abliterate
empty [] только runtime, pull руками

Community abliterate-модели без гарантий безопасности — для личного prompt-help рядом со SwarmUI.

Поле default: true в yaml — preferred модель (лог / подсказка); pull идёт по всему списку.


Автотюнинг Ollama под GPU

На установке gpu-rent-ollama читает /mnt/swarm_data/.gpu-rent-gpu.json и пишет env в systemd unit (одна карта вместе со SwarmUI):

Tier (VRAM) Flash Attn KEEP_ALIVE KV cache GPU_OVERHEAD (запас под Swarm/Krea)
low (<16GiB) off 2m q4_0 6GiB
mid (1623) on* 5m q8_0 10GiB
high (2447) on* 15m q8_0 14GiB
ultra (≥48) on* 30m q8_0 20GiB

*Flash на Ampere+ (compute ≥ 8.0). Всегда NUM_PARALLEL=1, MAX_LOADED_MODELS=1.

Файл: /mnt/swarm_data/.gpu-rent-ollama.env (пересоздаётся на каждом install Ollama).


llama.cpp

Манифест GGUF:

Файл Роль
llamacpp-models.example.yaml шаблон в git
llamacpp-models.yaml URL на .gguf (gitignore)

На interactive up / setup после выбора llamacpp спрашивается пресет (как у Ollama). На up CLI скачивает GGUF в /mnt/swarm_data/llamacpp/models, затем ставит llama-server + systemd.

Пресеты

preset что
recommended Qwen2.5 7B abliterate Q4_K_M (~4.7 GB)
light Qwen2.5 3B Instruct Q4_K_M
stock официальный Qwen2.5 7B Instruct Q4_K_M
empty только runtime

Параметры -ngl / -c — по GPU probe. Опционально HF_TOKEN для gated HF. Вручную: положи GGUF в каталог models и systemctl restart gpu-rent-llamacpp.


Idle-killer и LLM

Busy (не гасить GPU), если:

  • идёт ollama pull (маркер младше ~45 мин; старше — сбрасывается);
  • в Ollama есть загруженная модель;
  • llama.cpp занимает слоты.

Ошибка установки LLM на upfail (не тихий лог): почини или поставь LLM_RUNTIME=none.


Supply-chain (опциональный pin)

По умолчанию install-скрипты тянут upstream без pin (Ollama: curl|sh; llama.cpp: GitHub latest) — риск подмены. В логе будет WARN.

Жёстче — задай env на VM / при bootstrap:

OLLAMA_VERSION=0.6.5
OLLAMA_SHA256=<sha256 of ollama-linux-amd64.tgz>

LLAMACPP_TAG=b4690
# или LLAMACPP_ASSET_URL=... + LLAMACPP_SHA256=...