Define four-profile production matrix with Medium default

This commit is contained in:
Mikei386 committed 2026-08-22 11:30:38 +02:00
1 parent 977f8f5c76
commit 41b9c17f0f
33 files changed
+237 -160

No files matched your search

+8 -8
View File
@@ -20,7 +20,7 @@ Heimnetz / VPN-Clients
+-- Profile Controller -- Docker Socket (feste Allowlist)
+-- llama-fast --\
+-- llama-medium > exakt einer aktiv
+-- llama-long --/
+-- llama-large --/
+-- llama-experimental
+-- llama-ultra (256K, text-only, dual GPU)
+-- Piper-TTS (CPU, nur intern)
@@ -44,8 +44,8 @@ Heimnetz / VPN-Clients
| SearXNG/TinySearch | nein | Suchbackend des Web-MCP |
Nur der Profile Controller erhält den Docker-Socket. Der Router erhält weder
Socket noch Shell-Zugriff und kann dem Controller nur `fast`, `medium`, `long`
oder `experimental` übergeben. Die llama-Container laufen ohne UI,
Socket noch Shell-Zugriff und kann dem Controller nur `fast`, `medium`, `large`,
`ultra` oder `experimental` übergeben. Die llama-Container laufen ohne UI,
Capabilities und Schreibzugriff auf die Modelldateien.
## Profilprinzip
@@ -60,13 +60,13 @@ halten.
| Profil | Ausgangswert | Zweck |
|---|---:|---|
| fast | 76.800 Kontext, MTP | mindestens ungefähr 80 Token/s anstreben |
| medium | 94.208 Kontext | mehr Kontext ohne CPU-FFN-Offload |
| long | 131.072 Kontext | maximale Nutzbarkeit, CPU-Offload erlaubt |
| medium | 160.000 Kontext, Pure, 90:10, MTP3 | Standardprofil |
| large | 192.000 Kontext, Pure, 86:14, MTP3 | große Agenten-/MCP-Sitzungen |
| ultra | 262.144 Kontext, Pure, 80:20, MTP2 | maximaler Textkontext |
| experimental | 76.800 Kontext | isolierte Tests ohne Produktion zu ändern |
Diese Werte sind reproduzierbare Startwerte, keine Garantie. Nach Einbau der
RTX 3060 werden sie auf dem Zielhost erneut gemessen. Die zweite Karte wird
nicht automatisch in die Produktionsprofile aufgenommen.
Diese Matrix wurde auf RTX 5080 und RTX 3060 gemessen und ist bis zu einer
bewussten Neubewertung der verbindliche Produktionsstandard.
## Netzwerk
+4
View File
@@ -1,5 +1,9 @@
# Athena-Leerhostaufbau – Praxisprotokoll
> Dieses Dokument ist ein chronologisches Aufbauprotokoll. Darin genannte alte
> Profilnamen und Kontextwerte sind keine aktuelle Konfiguration. Seit dem
> 22. August 2026 gilt `STANDARD_PROFILE_MATRIX.md`.
Dieses Protokoll hält die Abweichungen fest, die beim realen Neuaufbau auf
einem frischen Debian-13-Host sichtbar wurden. Jede dauerhaft notwendige
Korrektur muss zusätzlich im Installer, Restore-Skript oder in der regulären
+23 -24
View File
@@ -1,8 +1,8 @@
# Aktueller produktiver Referenzstand
Stand: 20. August 2026. Dieses Dokument beschreibt die funktionierende
Referenz vor dem geplanten Neuaufbau. Es ist keine Empfehlung, jede Altlast des
Hosts zu übernehmen.
Stand: 22. August 2026. Dieses Dokument beschreibt die auf Athena installierte
und geprüfte Docker-Referenz. Die verbindlichen Profilparameter stehen in
`STANDARD_PROFILE_MATRIX.md`.
## Hardware und Betriebssystem
@@ -12,10 +12,10 @@ Hosts zu übernehmen.
| Kernel | 6.12.101+deb13-amd64 |
| CPU | AMD Ryzen 5 5600, 6 Kerne/12 Threads |
| RAM | 48 GiB DDR4-2666 |
| GPU | NVIDIA GeForce RTX 5080, 16 GiB VRAM |
| GPUs | NVIDIA GeForce RTX 5080, 16 GiB + RTX 3060, 12 GiB VRAM |
| NVIDIA-Treiber | 610.57.04 |
| System-SSD | Samsung 980 PRO 1 TB |
| Daten-SSD | Samsung 980 PRO 2 TB |
| Daten-SSD | WD Blue SN580 1 TB, unter `/data` |
Die früher verwendete Radeon RX 470 ist ausgebaut und gehört nicht zur
Zielplattform.
@@ -28,23 +28,22 @@ Zielplattform.
| Repository | `https://github.com/ggml-org/llama.cpp.git` |
| Commit | `4df29be4f4c3673f428170fda944a5b19f743bb8` |
| Compiler | GCC 14.2 |
| Hauptdienst | `mike-ai-llama-ui.service` |
| llama.cpp-Port | 8080, auf dem alten Host noch im LAN gebunden |
| Hauptdienst | jeweils ein Container `mike-ai-llama-<profil>` |
| llama.cpp-Port | 8080, ausschließlich im internen Docker-Netz |
| Client-Port | 8081 über den Router |
| MCP-Konfiguration | getrennte Container unter `/opt/mike-ai/mcp-containers` |
### Aktives Fast-Profil
### Aktives Standardprofil
- Qwen3.8-27B IQ4-MIX
- Dateigröße: 14.111.614.400 Bytes
- SHA256: `54879ae8738d5938f46cb3b8cbf16bf42b8c85b7d68d7c73f062b612ec183e36`
- Öffentliche Herkunft ist noch nicht ausreichend dokumentiert; für eine
bitgenaue Migration muss die geprüfte Datei vom Referenzhost gesichert werden.
- Kontext 76.800
- vollständig auf CUDA0
- Qwen3.8-27B IQ4_XS Pure
- Dateigröße: 14.534.384.640 Bytes
- SHA256: `ea5a3c45d407f9b9e5d2c0d647f0ea600f486f6b86b92b56d0823ba073dae675`
- Quelle: `jpetrina/Qwen3.8-27B-IQ4_XS-pure-GGUF`
- Kontext 160.000
- RTX 5080 + RTX 3060 im Verhältnis 90:10
- Flash Attention
- KV-Cache Q4_0 für K und V
- MTP Draft, maximal zwei Tokens
- MTP Draft, maximal drei Tokens
- sechs Threads und sechs Batch-Threads
- Batch 64, Micro-Batch 32
- ein paralleler Slot
@@ -56,17 +55,17 @@ Zielplattform.
| Profil | Virtuelles Modell | Kontext | Besonderheit |
|---|---|---:|---|
| Fast | `qwen-fast` | 76.800 | IQ4-MIX, MTP2, vollständig GPU, CPU-mmproj |
| Medium | `qwen-medium` | 94.208 | IQ4_XS Pure, ohne MTP, CPU-mmproj |
| Long | `qwen-long` | 131.072 | IQ4-MIX, MTP2, FFN 0–11 auf CPU, CPU-mmproj |
| Medium **(Standard)** | `qwen-medium` | 160.000 | IQ4_XS Pure, MTP3, beide GPUs 90:10, CPU-mmproj |
| Large | `qwen-large` | 192.000 | IQ4_XS Pure, MTP3, beide GPUs 86:14, CPU-mmproj |
| Ultra | `qwen-ultra` | 262.144 | IQ4_XS Pure, MTP2, beide GPUs 80:20, text-only; 68,2 Tok/s und 220K-Fülltest bestanden |
## Router
- Dienst: `mike-ai-profile-router.service`
- Container: `mike-ai-router`
- Port: 8081
- Upstream: `127.0.0.1:8080`
- Upstream: `llama-upstream:8080` im internen Inferenznetz
- Commit des Plattform-Repositories: siehe jeweils aktuelles `main`
- Umschaltskript: `/usr/local/bin/llama-profile`
- Umschaltung: `mike-ai-profile-controller` mit fester Container-Allowlist
- Timeout für Profilwechsel und Requests: 600 Sekunden
Der Router übernimmt:
@@ -74,7 +73,7 @@ Der Router übernimmt:
- OpenAI-kompatibles Chat-Proxying und Streaming
- virtuelle Modelle und automatische Profilumschaltung
- Tool Calls
- direkte integrierte Vision in allen Qwen-Profilen
- direkte integrierte Vision in Fast, Medium und Large
- FLUX-Hotswap zur Bildgenerierung
- Whisper Speech-to-Text
- XTTS Text-to-Speech (historische Referenz; Zielsystem verwendet Piper)
@@ -87,9 +86,9 @@ Der Router übernimmt:
| Text-/Visionmodell | jeweils aktives Qwen3.8-27B-Profil |
| Projektor | BF16-mmproj |
| Speicherort des Projektors | System-RAM (`--no-mmproj-offload`) |
| Kontext | entspricht Fast/Medium/Long |
| Kontext | entspricht Fast/Medium/Large; Ultra ist bewusst text-only |
Vision ist Bestandteil jedes Profils. Der Router prüft Bildgröße und URL,
Vision ist Bestandteil von Fast, Medium und Large. Der Router prüft Bildgröße und URL,
leitet das Bild dann direkt weiter und führt keinen Modellwechsel mehr aus.
## Bildgenerierung
+1 -1
View File
@@ -37,7 +37,7 @@ laufen, sondern alle fachlichen Funktionen geprüft wurden.
- [ ] Router-Key erscheint weder im Upstream noch im Journal
- [ ] `/status` meldet den richtigen Upstream
- [ ] `/v1/models` liefert drei virtuelle Modelle
- [ ] `/fast`, `/medium` und `/long` wechseln zuverlässig
- [ ] `/fast`, `/medium`, `/large` und `/ultra` wechseln zuverlässig
- [ ] automatischer Wechsel über virtuellen Modellnamen funktioniert
- [ ] paralleler Wechsel wird sauber gesperrt
- [ ] Streaming funktioniert
+8 -8
View File
@@ -36,8 +36,9 @@ Folgefragen (`task.follow_up.enable=false`). Dieselbe Vorgabe steht zusätzlich
als Container-Umgebungswert im Compose-Stack, damit bereits eine frische
OpenWebUI-Datenbank ohne Folgefragen startet.
Der Stabilitätsschutz kennt die drei Profilgrenzen 76.800, 94.208 und 131.072
Token. Er reserviert Ausgabetoken und greift vor der harten llama.cpp-Grenze
Der Stabilitätsschutz kennt die vier Profilgrenzen 76.800, 160.000, 192.000
und 262.144 Token. Für unbekannte Modelle gilt Medium (160.000) als sichere
Vorgabe. Er reserviert Ausgabetoken und greift vor der harten llama.cpp-Grenze
ein. Bilder bleiben unangetastet; JSON-Werkzeugschemas werden niemals
abgeschnitten. Sind allein die ausgewählten Schemas zu groß, wird der
Werkzeugzugriff nur für diesen Schritt deaktiviert und das Modell erhält eine
@@ -72,15 +73,14 @@ Community Store nachgeladen.
| Profil | Virtuelles Modell | Kontext | Zweck |
|---|---|---:|---|
| Fast | `qwen-fast` | 76.800 | Alltag, Agenten, hohe Geschwindigkeit, integrierte Vision |
| Medium | `qwen-medium` | 94.208 | mehr Kontext, reine IQ4_XS-Variante |
| Long | `qwen-long` | 131.072 | lange Hermes-/MCP-Sitzungen |
| Medium **(Standard)** | `qwen-medium` | 160.000 | IQ4_XS Pure, beide GPUs 90:10, MTP3, integrierte Vision |
| Large | `qwen-large` | 192.000 | IQ4_XS Pure, beide GPUs 86:14, MTP3, integrierte Vision |
| Ultra | `qwen-ultra` | 262.144 | maximaler Textkontext, IQ4_XS Pure auf RTX 5080 + RTX 3060 (80:20), ohne Vision-Projektor |
Manuell wird mit `llama-profile fast|medium|long|ultra` gewechselt. Über HTTP stehen
`POST /fast`, `/medium`, `/long` und `/ultra` zur Verfügung. Ultra erreichte im
Manuell wird mit `llama-profile fast|medium|large|ultra` gewechselt. Über HTTP stehen
`POST /fast`, `/medium`, `/large` und `/ultra` zur Verfügung. Ultra erreichte im
Referenzlauf etwa 68 Token/s; ein Prompt-Fülltest mit rund 220.000 Tokens war
erfolgreich. Für eine spätere Version ist
`large` als Alias für `long` vorgesehen; bestehende Namen bleiben kompatibel.
erfolgreich. Medium ist das Start- und Standardprofil.
## Clients
+4
View File
@@ -1,5 +1,9 @@
# Router V2 – Migration und Kompatibilität
> Historischer Stand: Die damalige Bezeichnung `long` wurde am 22. August
> 2026 durch `large` ersetzt und um `ultra` ergänzt. Für den aktuellen Betrieb
> gilt ausschließlich `STANDARD_PROFILE_MATRIX.md`.
## Ergebnis
V2 behält die OpenAI-kompatible Basis-URL und die virtuellen Modelle
+33
View File
@@ -0,0 +1,33 @@
# Verbindliche Standard-Profilmatrix
Stand: 22. August 2026. Diese vier Profile sind die Produktionsmatrix für
Athena. Änderungen gelten erst nach einem vergleichbaren synthetischen Test
und einer bewussten Aktualisierung dieser Datei.
| Profil | Virtuelles Modell | GGUF | Kontext | GPUs / Split | MTP | Vision | gemessene kurze Ausgabe |
|---|---|---|---:|---|---:|---|---:|
| Fast | `qwen-fast` | IQ4-MIX | 76.800 | RTX 5080 | 2 | ja, Projektor auf CPU | 85,5 Tok/s |
| **Medium (Default)** | `qwen-medium` | IQ4_XS Pure | 160.000 | RTX 5080 + RTX 3060, 90:10 | 3 | ja, Projektor auf CPU | 77,2 Tok/s |
| Large | `qwen-large` | IQ4_XS Pure | 192.000 | RTX 5080 + RTX 3060, 86:14 | 3 | ja, Projektor auf CPU | 75,3 Tok/s |
| Ultra | `qwen-ultra` | IQ4_XS Pure | 262.144 | RTX 5080 + RTX 3060, 80:20 | 2 | nein, text-only | 68,2 Tok/s |
## Standardverhalten
- Medium ist nach Neuinstallation und bewusstem Plattformstart das aktive
Standardprofil.
- Open WebUI erhält `qwen-medium` als Standardmodell.
- Ein explizit gewähltes anderes Modell löst den zugehörigen Containerwechsel
aus; es ist immer nur ein Inferenzcontainer aktiv.
- Ultra reserviert den verfügbaren Speicher für nativen 256K-Textkontext und
lädt deshalb keinen Vision-Projektor.
- Das gesonderte Experimentalprofil gehört nicht zur Benutzer-Matrix und wird
in Open WebUI nicht als reguläres Modell angeboten.
## Nachweise
- Fast 76,8K: synthetischer Referenzlauf, 85,50 Tok/s.
- Medium 160K: Pure 90:10 mit MTP3, 77,22 Tok/s.
- Large 192K: Pure 86:14 mit MTP3, 75,28 Tok/s.
- Ultra 256K: Pure 80:20 mit MTP2, 68,19 Tok/s; 220.190 Tokens
erfolgreich verarbeitet und Sentinel korrekt wiedergefunden.