feat(local-llm): B0 — GGUF Auto-Download via llama.cpp -hf (kein manuelles Ablegen)

Statt einer manuell abgelegten Datei zieht llama.cpp das Modell beim ersten
Start selbst von Hugging Face (-hf Qwen/Qwen3-8B-GGUF:Q4_K_M, offizielles
Repo verifiziert) und cached es unter xtts/models (persistent). Modell/Quant
via LLM_HF_REPO/LLM_HF_QUANT in der .env wechselbar, kein Code.

Diagnostic-Modellauswahl (on-demand laden/aktivieren mehrerer Modelle) als
Folge-Baustein B0.5 via llama-swap ins Plan-Doc aufgenommen.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-11 10:33:59 +02:00
co-authored by Claude Opus 4.8
parent 98c78af7ad
commit b5ba54d05f
4 changed files with 59 additions and 21 deletions
+17 -15
View File
@@ -11,27 +11,29 @@ das Tiefen-Hirn bleibt. Siehe `docs/plan-local-llm-router.md` im Repo-Root.
- **`llm-adapter`** — verbindet sich per Token an den RVS (wie f5tts/whisper),
nimmt `llm_request` entgegen, ruft `llama` lokal, antwortet `llm_response`.
## Modell besorgen (einmalig)
## Modell — Auto-Download (nichts manuell ablegen)
GGUF nach `xtts/models/` legen. Empfohlen: **Qwen3 8B, Q4_K_M**.
`llama.cpp` zieht das GGUF beim **ersten Start selbst von Hugging Face** und
cached es unter `xtts/models/` (Bind-Mount → kein Re-Download bei Restart).
Default: **Qwen3 8B, Q4_K_M** aus dem offiziellen Repo `Qwen/Qwen3-8B-GGUF`.
```bash
mkdir -p xtts/models
# z.B. von Hugging Face (huggingface-cli oder Browser-Download):
# Suche: "Qwen3-8B-GGUF" -> Datei qwen3-8b-q4_k_m.gguf
# Datei ablegen als:
# xtts/models/qwen3-8b-q4_k_m.gguf
```
Anderer Dateiname? In der `.env` der Gamebox setzen:
Modell/Quant wechseln = in der `.env` der Gamebox setzen (kein Code):
```
LLM_GGUF=dein-modell.gguf
LLM_CTX=8192 # Kontextfenster (kleiner = weniger VRAM)
LLM_HF_REPO=Qwen/Qwen3-8B-GGUF # HF-Repo
LLM_HF_QUANT=Q4_K_M # Quant-Tag (Q4_K_M, Q5_K_M, Q8_0, …)
LLM_CTX=8192 # Kontextfenster (kleiner = weniger VRAM)
```
Mistral statt Qwen testen (A/B): einfach ein Mistral-Small-3-GGUF ablegen und
`LLM_GGUF` umstellen — Ein-Datei-Wechsel, kein Code.
Mistral statt Qwen testen (A/B): `LLM_HF_REPO` auf ein Mistral-Small-3-GGUF-Repo
umstellen + Container neu — Ein-Zeilen-Wechsel, kein Code.
> Der erste Start lädt mehrere GB — Log zeigt den Download-Fortschritt.
> Danach liegt das GGUF im Cache und der Start ist sofort.
**Modell-Auswahl in ARIA Diagnostic** (on-demand laden/aktivieren mehrerer
Modelle) ist ein geplanter Folge-Baustein via `llama-swap` — siehe
`docs/plan-local-llm-router.md`.
## Start (auf der Gamebox)