- Updated `resolve_llm_runtime` to prioritize live configuration over legacy notes, ensuring accurate runtime resolution. - Enhanced `tunnel_forwards` to prefer current configuration for LLM runtime, improving tunnel setup logic. - Improved idle-killer logic to handle stale markers and provide clearer warnings in the status output. - Updated CLI documentation in `cli.md` to reflect changes in command behavior and runtime handling. - Enhanced tests to validate new runtime resolution logic and ensure proper handling of configuration states.
80 lines
3.4 KiB
Markdown
80 lines
3.4 KiB
Markdown
# 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=<sha256 of ollama-linux-amd64.tgz>
|
|
|
|
# llama.cpp — tag или прямой URL + checksum
|
|
LLAMACPP_TAG=b4690
|
|
# или:
|
|
LLAMACPP_ASSET_URL=https://github.com/ggerganov/llama.cpp/releases/download/...
|
|
LLAMACPP_SHA256=<sha256 of archive>
|
|
```
|
|
|
|
Без этих переменных в логе будет `WARN` про отсутствие pin/checksum.
|