Files
AI-Profile-Router/docs/CURRENT_REFERENCE.md
T

169 lines
5.6 KiB
Markdown

# Aktueller produktiver Referenzstand
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
| Bereich | Referenz |
|---|---|
| Betriebssystem | Debian 13 `trixie` |
| Kernel | 6.12.101+deb13-amd64 |
| CPU | AMD Ryzen 5 5600, 6 Kerne/12 Threads |
| RAM | 48 GiB DDR4-2666 |
| 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 | WD Blue SN580 1 TB, unter `/data` |
Die früher verwendete Radeon RX 470 ist ausgebaut und gehört nicht zur
Zielplattform.
## Produktiver Text-Stack
| Eigenschaft | Aktueller Wert |
|---|---|
| Runtime | llama.cpp |
| Repository | `https://github.com/ggml-org/llama.cpp.git` |
| Commit | `4df29be4f4c3673f428170fda944a5b19f743bb8` |
| Compiler | GCC 14.2 |
| 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 Standardprofil
- 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 drei Tokens
- sechs Threads und sechs Batch-Threads
- Batch 64, Micro-Batch 32
- ein paralleler Slot
- Jinja und automatisches Reasoning
- Temperatur 0,2, Top-p 0,8, Top-k 20
### Profile
| Profil | Virtuelles Modell | Kontext | Besonderheit |
|---|---|---:|---|
| Fast | `qwen-fast` | 76.800 | IQ4-MIX, MTP2, Text auf RTX 5080, mmproj auf RTX 3060 |
| Medium **(Standard)** | `qwen-medium` | 160.000 | IQ4_XS Pure, MTP3, beide GPUs 90:10, mmproj auf RTX 3060 |
| Large | `qwen-large` | 192.000 | IQ4_XS Pure, MTP3, beide GPUs 86:14, mmproj auf RTX 3060 |
| 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
- Container: `mike-ai-router`
- Port: 8081
- Upstream: `llama-upstream:8080` im internen Inferenznetz
- Commit des Plattform-Repositories: siehe jeweils aktuelles `main`
- Umschaltung: `mike-ai-profile-controller` mit fester Container-Allowlist
- Timeout für Profilwechsel und Requests: 600 Sekunden
Der Router übernimmt:
- OpenAI-kompatibles Chat-Proxying und Streaming
- virtuelle Modelle und automatische Profilumschaltung
- Tool Calls
- 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)
- Zustands- und Modellendpunkte
## Vision
| Bereich | Referenz |
|---|---|
| Text-/Visionmodell | jeweils aktives Qwen3.8-27B-Profil |
| Projektor | BF16-mmproj |
| Speicherort des Projektors | RTX 3060 (`MTMD_BACKEND_DEVICE=CUDA1`) |
| Kontext | entspricht Fast/Medium/Large; Ultra ist bewusst text-only |
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
- Modell: FLUX.2 Klein 4B Distilled, Apache-2.0
- Runtime: eigener PyTorch-2.11/CUDA-12.8-/Diffusers-0.40-Container
- fest auf vier Schritte und Guidance 1,0 destilliert
- Worker läuft ausschließlich auf der RTX 5080 und ist im Normalbetrieb gestoppt
- der Controller beendet Qwen vor dem Job; Bildprompts bleiben im internen Netz
- Worker wird nach jedem Job vollständig beendet
- Qwen wird anschließend mit exakt dem vorherigen Profil wiederhergestellt
## Sprache
### Whisper
- Modell: large-v3-turbo
- lokale Standardsprache: Deutsch
- CPU-Ausführung
- acht Threads im produktiven Worker
- Port 8084, nur localhost
- ffmpeg für Eingabeumwandlung
### XTTS
Dieser Abschnitt beschreibt ausschließlich den alten Referenzhost. Im neuen
Docker-Zielsystem ersetzt Piper (`de_DE-thorsten-high`) diesen Dienst.
- Modell: Coqui XTTS-v2
- CPU-only
- Stimme: `claribel`
- Deutsch und Englisch
- Port 8085, auf dem alten Host noch im LAN gebunden
- eigenes Python-3.11-Venv
## Websuche
- Docker Compose
- SearXNG, per Digest gepinnt
- TinySearch 0.5.1, per Digest gepinnt
- TinySearch nur auf `127.0.0.1:8000`
- lokale ONNX-Embeddings
- kompakte Web-MCP-Fassade mit vier Werkzeugen
- strukturierte API-Pfade für GitHub und Hugging Face
## MCP-Referenz
Aktuell existieren funktionale Adapter für:
- Websuche
- Home Assistant
- Sonarr/Radarr
- Unraid read-only
- eigener Unraid-Administrationsserver
Der frühere allgemeine Shell-MCP und doppelte, schreibende Werkzeuge gehören
nicht zum Sicherheitsziel und werden nicht ungeprüft wiederhergestellt.
## Bekannte Probleme des alten Hosts
- Systempartition vollständig gefüllt
- Datenpartition nahezu vollständig gefüllt
- etwa 1,27 TB Modelle, darunter Duplikate
- mehrere alte llama.cpp-Builds
- RX-Dienste trotz ausgebauter Karte
- aktivierte Benchmark-/Race-Dienste
- alte systemd-Overrides und Sicherungskopien
- unvollständiger großer Modelldownload
- zu viele MCP-Werkzeuge gleichzeitig im Kontext
Diese Punkte erklären den Neuaufbau, sind aber keine Bestandteile der neuen
Plattform.
Zusätzliche bekannte Sicherheitsabweichung: llama.cpp auf Port 8080 und XTTS
auf Port 8085 sind im alten Zustand breiter gebunden als im Zielsystem. Beim
Neuaufbau werden beide auf localhost begrenzt; Clients verwenden ausschließlich
den Router auf Port 8081.