Make Qwen Image 2.1 the production image worker
This commit is contained in:
@@ -0,0 +1,83 @@
|
||||
# Qwen-Image-2.1 auf Athena
|
||||
|
||||
Stand: 21. September 2026. Qwen-Image-2.1 ist der produktive Bildworker des
|
||||
Routers. FLUX.2 Klein 9B FP8 bleibt als gestoppter Rückfallcontainer erhalten.
|
||||
|
||||
## Gepinnter Stand
|
||||
|
||||
- ComfyUI: Commit `b0f4b7b294ce482a2e071d9d762c133d38c7aa07`
|
||||
- Modell-Repository: `Comfy-Org/Qwen-Image-2.1`, Revision
|
||||
`ace0edeb3791a594ddfa36ed5f41a178a394e921`
|
||||
- Transformer: `qwen_image_2.1_int8_convrot.safetensors`
|
||||
(`cb74113cb03faecd79611b01fd7fd642f0aa60d6f0b95086abee214d75eaa57d`)
|
||||
- Textencoder: `qwen3vl_8b_int8_convrot.safetensors`
|
||||
(`8bfd0f6e12abf2d2d697ecc888e5e90b0d6741d6708f05799f53afa560452e8f`)
|
||||
- VAE: `qwen_image_2.1_vae_bf16.safetensors`
|
||||
(`bb21f7473051e1ac368515dd3f2e15cd44d7a11748ee8823e1ddca3e4876b7c9`)
|
||||
- Pipeline: 25 Schritte, CFG 1, Euler/Simple, `--lowvram`
|
||||
- GPU: ausschließlich Athena-GPU 1, die RTX 5080 mit 16 GB
|
||||
|
||||
Die Gewichte liegen außerhalb von Git unter
|
||||
`/data/models/Qwen-Image-2.1-ComfyUI`. Der Adapter
|
||||
`platform/docker/qwen-image-worker/qwen_image_worker.py` stellt vor ComfyUI
|
||||
die bestehende private Worker-API auf Port 8086 bereit. Der öffentliche
|
||||
Routervertrag bleibt damit `/v1/images/generations` und `/v1/images/edits`.
|
||||
|
||||
## Lebenszyklus
|
||||
|
||||
Ein Bildauftrag läuft transaktional:
|
||||
|
||||
1. Der Router merkt sich das aktive Textprofil.
|
||||
2. Der Profile Controller stoppt LLM, TTS und andere GPU-Spezialworker.
|
||||
3. `mike-ai-image-worker` startet Qwen Image auf der RTX 5080.
|
||||
4. Der Adapter erzeugt das Bild oder bearbeitet bis zu vier Referenzbilder.
|
||||
5. Der Qwen-Worker wird vollständig gestoppt.
|
||||
6. Das vorherige Textprofil und Qwen3-TTS werden wiederhergestellt.
|
||||
|
||||
Der Container ist außerhalb eines Auftrags gestoppt. Das ist der Sollzustand.
|
||||
|
||||
## Reproduzierbare Vorbereitung
|
||||
|
||||
```bash
|
||||
cd /opt/mike-ai/stack
|
||||
sudo ./scripts/prepare-qwen-image-21.sh
|
||||
```
|
||||
|
||||
Das Skript lädt fehlende Dateien mit festen SHA-256-Prüfsummen, baut den
|
||||
produktiven Qwen-Worker und legt Qwen sowie FLUX gestoppt an. Es lädt dabei
|
||||
kein Modell in den VRAM.
|
||||
|
||||
## Funktionsprobe über den echten Routerweg
|
||||
|
||||
```bash
|
||||
curl -sS http://127.0.0.1:8081/v1/images/generations \
|
||||
-H 'Content-Type: application/json' \
|
||||
-d '{
|
||||
"model":"Qwen-Image-2.1-int8",
|
||||
"prompt":"Fotorealistisches rotes Haus bei Tageslicht",
|
||||
"size":"1024x1024",
|
||||
"steps":25,
|
||||
"guidance":1.0,
|
||||
"response_format":"url"
|
||||
}'
|
||||
```
|
||||
|
||||
Nach dem Lauf müssen `mike-ai-image-worker` und
|
||||
`mike-ai-flux-image-worker` gestoppt sein und das vorherige LLM-Profil wieder
|
||||
gesund laufen.
|
||||
|
||||
## FLUX-Rückfallpfad
|
||||
|
||||
FLUX verwendet weiterhin das Image `mike-ai/image-worker:local`, die
|
||||
bestehenden Modellverzeichnisse und den Container
|
||||
`mike-ai-flux-image-worker`. Er hat das Controller-Label `flux-standby` und
|
||||
kann deshalb nicht durch einen normalen Router-Bildauftrag gestartet werden.
|
||||
Eine manuelle Diagnose ist nur über den allowlist-beschränkten Controllerpfad
|
||||
`/workers/flux-standby/start` möglich. Für eine dauerhafte Rückschaltung müssen
|
||||
Service-DNS, Modellname und Schrittzahl gemeinsam in Compose auf FLUX gesetzt
|
||||
und anschließend Router und Controller neu ausgerollt werden. Keine dieser
|
||||
Änderungen erfolgt automatisch.
|
||||
|
||||
Historische FLUX-Messwerte und Grenzen stehen in
|
||||
[FLUX_9B_BETA.md](FLUX_9B_BETA.md) und
|
||||
[FLUX_RESOLUTION_TEST_20260912.md](FLUX_RESOLUTION_TEST_20260912.md).
|
||||
Reference in New Issue
Block a user