# LLM рядом со SwarmUI (opt-in) По умолчанию поднимается только SwarmUI. Ollama или llama.cpp — по флагу, `LLM_RUNTIME` в `gpu-rent.vars` / `.env`, или через wizard. ## Включение ```text gpu-rent setup # спросит none/ollama/llamacpp + пресет моделей gpu-rent up --ollama # разово gpu-rent up --llm llamacpp # или в gpu-rent.vars: LLM_RUNTIME=ollama ``` Без параметров `gpu-rent` показывает help (не `up`). Double-click лаунчеры: `GPU_RENT_DEFAULT_ARGS=up --yes`. `gpu-rent up` без `--yes` спросит про LLM, если в vars ещё `none`. Полный doctor: `gpu-rent up -v`. ## Порты (только loopback + туннель) | Сервис | VM | localhost | | --- | --- | --- | | SwarmUI | 7801 | 17801 | | Ollama | 11434 | 17811 | | llama.cpp | 8080 | 17812 | ```text gpu-rent tunnel gpu-rent open --llm # http://127.0.0.1:17811 (Ollama) # клиент: set OLLAMA_HOST=http://127.0.0.1:17811 ``` ## Ollama models Как Civitai `models.yaml`: - `ollama-models.example.yaml` — в git - `ollama-models.yaml` — локальный (gitignore) На `up` при `LLM_RUNTIME=ollama` CLI делает `ollama pull` по списку. Уже скачанные не трогает; лишние на диске не удаляет. ### Пресеты setup | preset | tag | зачем | | --- | --- | --- | | **recommended** | `huihui_ai/qwen2.5-abliterate:7b` | RU/EN, ~5GB, мало отказов — помощь с промптами | | light | `qwen2.5:3b` | быстрее, слабее | | stock | `qwen2.5:7b` | официальный, больше цензуры | | alt | `richardyoung/qwen2.5-7b-instruct-abliterated` | другой abliterate | | empty | `[]` | только runtime | Community abliterate-модели без гарантий безопасности — для личного prompt-help / NSFW-тегов рядом со SwarmUI. ## llama.cpp Ставит `llama-server` и systemd. GGUF клади вручную в `/mnt/swarm_data/llamacpp/models` на data-диске (или через SSH), затем `systemctl restart gpu-rent-llamacpp`. ## Idle-killer Busy также если идёт `ollama pull` (маркер младше ~45 мин), в Ollama есть loaded model, или llama.cpp занимает слоты. Зависший маркер `.gpu-rent-ollama-pulling` старше 45 мин idle-killer сбрасывает. ## Supply-chain (install на VM) Скрипты `install_ollama.sh` / `install_llamacpp.sh` по умолчанию тянут upstream **без pin** (Ollama: `curl|sh`; llama.cpp: GitHub `latest`). Это риск подмены артефакта. Рекомендуется задать pin через env при bootstrap (или патч vars / future hooks): ```bash # Ollama — GitHub release + checksum OLLAMA_VERSION=0.6.5 OLLAMA_SHA256= # llama.cpp — tag или прямой URL + checksum LLAMACPP_TAG=b4690 # или: LLAMACPP_ASSET_URL=https://github.com/ggerganov/llama.cpp/releases/download/... LLAMACPP_SHA256= ``` Без этих переменных в логе будет `WARN` про отсутствие pin/checksum.