Immer-bereit-Set ehrlich gemacht: vision ttl 0, Warmup inkl. vision, Texte

Nutzer-Fund (Screenshots 03.07.): drei UI-Diskrepanzen im Modell-Manager.
1) Augen (VL-8B) hatten ttl 300 + fehlten im Warmup — standen also entgegen
   dem UI-Versprechen NICHT immer bereit. Jetzt ttl 0 (Box live + Snapshot)
   und Warmup-Default "fast vision".
2) Warn-Text beschrieb das alte Verdraengungs-Verhalten (seit persistent-Fix
   falsch) — jetzt: Set bleibt geladen, bei Ueberlauf scheitert das grosse
   Modell. 3) "Reserviert" als Vorsichts-Schaetzung/Obergrenze gekennzeichnet
   (68,8 GB Schaetzer vs. 25 GB real — Schaetzer-Umbau ist eigener Faden).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Hitonabi
2026-07-03 09:10:44 +02:00
parent 50867b2781
commit d2ab662146
6 changed files with 17 additions and 13 deletions
+2 -1
View File
@@ -44,7 +44,8 @@ models:
Qwen3-VL-8B-Instruct:
cmd: |
llama-server -m /srv/models/Qwen3-VL-8B-Instruct-GGUF/Qwen3VL-8B-Instruct-Q4_K_M.gguf --host 127.0.0.1 --port ${PORT} -c 32768 -ngl 999 -fa on --no-mmap --mmproj /srv/models/Qwen3-VL-8B-Instruct-GGUF/mmproj-Qwen3VL-8B-Instruct-F16.gguf --jinja
ttl: 300
# ttl 0 (03.07.): Mitglied des Immer-bereit-Sets — ein Selbstauslöser widerspräche dem UI-Versprechen.
ttl: 0
aliases:
- vision
capabilities:
+6 -4
View File
@@ -3,14 +3,16 @@
# Anfrage nicht kalt ist (llama-swap lädt sonst lazy bei Bedarf).
# Eingehängt als ExecStartPost=-/usr/local/bin/llama-swap-warmup.sh in llama-swap.
#
# `fast` = das Agent-Hirn (Qwen3.6-35B-A3B), `embed` = das Embedding-Modell (Qwen3-Embedding-0.6B,
# für Mem0/Gedächtnis). Beide sind in der brains-Gruppe (persist), werden aber NICHT automatisch
# zusammen geladen — jedes Modell muss einzeln angestoßen werden, sonst bleibt es kalt.
# `fast` = das Agent-Hirn (Qwen3.6-35B-A3B), `vision` = die Augen (Qwen3-VL-8B, ttl 0 seit
# 03.07. — gehört zum UI-Versprechen „Immer-bereit-Set"), `embed` = das Embedding-Modell
# (Qwen3-Embedding-0.6B, für Mem0/Gedächtnis). Alle in der brains-Gruppe (persistent), werden
# aber NICHT automatisch zusammen geladen — jedes Modell einzeln anstoßen, sonst bleibt es kalt.
# Embedding läuft im --embedding-Modus → anderer Endpunkt (/v1/embeddings, nicht chat).
# Selbst-detachend: blockiert den Service-Start nicht.
# NACH ÄNDERUNG: sudo cp deploy/warmup.sh /usr/local/bin/llama-swap-warmup.sh (root-Kopie!)
set -u
URL="${MC_LLAMA_SWAP_URL:-http://127.0.0.1:8080}"
BRAINS="${MC_WARMUP_MODELS:-fast}"
BRAINS="${MC_WARMUP_MODELS:-fast vision}"
EMBEDS="${MC_WARMUP_EMBED:-embed}"
if [ "${1:-}" != "--inner" ]; then
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -7,7 +7,7 @@
<link rel="manifest" href="/manifest.webmanifest" />
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
<title>Mission Control 2.0</title>
<script type="module" crossorigin src="/assets/index-BwrPCJGM.js"></script>
<script type="module" crossorigin src="/assets/index-C3HWS1JY.js"></script>
<link rel="stylesheet" crossorigin href="/assets/index-_Rap01H_.css">
</head>
<body>
@@ -129,8 +129,8 @@ export function WarmSetManager() {
{/* Speicher-Budget */}
<div className="rounded-xl border border-border/30 bg-background/20 p-3">
<div className="mb-1.5 flex items-center justify-between text-[11px]">
<span className="flex items-center gap-1.5 font-semibold uppercase tracking-wider text-muted-foreground" title="Modellgewichte + Arbeitsspeicher (KV-Cache)">
<HardDrive className="h-3.5 w-3.5" /> Reserviert fürs Set
<span className="flex items-center gap-1.5 font-semibold uppercase tracking-wider text-muted-foreground" title="Vorsichts-Schätzung (Obergrenze): Modellgewichte + Arbeitsspeicher, falls jedes Modell seinen vollen Kontext ausreizt. Real belegt ist meist deutlich weniger — der echte Ist-Wert steht oben im Speicher-Balken.">
<HardDrive className="h-3.5 w-3.5" /> Reserviert fürs Set (Obergrenze)
</span>
<span className="font-mono font-bold text-foreground">
{reservedGb.toFixed(1)}{totalGb > 0 ? ` / ${totalGb.toFixed(0)}` : ""} GB
@@ -144,8 +144,9 @@ export function WarmSetManager() {
<p className="mt-2 flex items-start gap-1.5 text-[11px] text-amber-400">
<AlertTriangle className="mt-0.5 h-3.5 w-3.5 shrink-0" />
<span>
Zusammen mit dem größten Gelegenheits-Modell (~{bud.largest_ondemand_gb} GB, z.&nbsp;B. das große Hirn) passt das Set
nicht gleichzeitig in den Speicher. Beim Laden wird das Set kurz verdrängt und danach automatisch nachgeladen kostet ein paar Sekunden.
Vorsichts-Schätzung: Zusammen mit dem größten Gelegenheits-Modell (~{bud.largest_ondemand_gb} GB) könnte der
Speicher knapp werden. Das Set bleibt dabei immer geladen wird es wirklich eng, schlägt das Laden des großen
Modells fehl (es wartet dann, statt das Set zu verdrängen).
</span>
</p>
)}