feat: Strata-Modell liest Bilder (models.json input image)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Dieter Schlüter 2026-10-15 09:38:50 +02:00
commit 8d4ed175ab
3 changed files with 6 additions and 2 deletions

View file

@ -151,7 +151,9 @@ HF_HOME=/mnt/daten/huggingface ./start-coding-server.sh
### Anderes Modell für die Schleife ### Anderes Modell für die Schleife
Ohne weitere Angabe arbeiten Coder und Judge mit `strata/qwen3.8-flash-next-iq3_s` (Strata, Port 9090). Ist das Ohne weitere Angabe arbeiten Coder und Judge mit `strata/qwen3.8-flash-next-iq3_s` (Strata, Port 9090). Das Modell
liest auch Bilder (`"input": ["text", "image"]` in `models.json`): Screenshots, die pi mit dem `read`-Werkzeug
öffnet, erreichen das Modell. Ist das
Modell entladen, lädt Strata es bei der ersten Anfrage und gibt vorher GPU 1 und 2 frei; die Bereitschaftsprüfung Modell entladen, lädt Strata es bei der ersten Anfrage und gibt vorher GPU 1 und 2 frei; die Bereitschaftsprüfung
wartet darauf bis zu 3 Minuten. Eingerichtet ist das in `~/nvme2n1p7_home/strata-betrieb` (dort wartet darauf bis zu 3 Minuten. Eingerichtet ist das in `~/nvme2n1p7_home/strata-betrieb` (dort
BEDIENUNGSANLEITUNG, „GPUs teilen“). Ein anderes Modell aus `models.json` setzt die Umgebungsvariable BEDIENUNGSANLEITUNG, „GPUs teilen“). Ein anderes Modell aus `models.json` setzt die Umgebungsvariable

View file

@ -53,7 +53,7 @@
"id": "qwen3.8-flash-next-iq3_s", "id": "qwen3.8-flash-next-iq3_s",
"name": "Strata Qwen3.8-Flash-Next IQ3_S (lokal :9090)", "name": "Strata Qwen3.8-Flash-Next IQ3_S (lokal :9090)",
"reasoning": true, "reasoning": true,
"input": ["text"], "input": ["text", "image"],
"contextWindow": 262144, "contextWindow": 262144,
"maxTokens": 16384, "maxTokens": 16384,
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 } "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }

View file

@ -20,6 +20,8 @@ test("models.json: Provider strata zeigt auf den lokalen Strata-Server (:9090)",
assert.ok(p, "Provider strata fehlt"); assert.ok(p, "Provider strata fehlt");
assert.match(p.baseUrl, /^http:\/\/127\.0\.0\.1:9090\/v1$/); assert.match(p.baseUrl, /^http:\/\/127\.0\.0\.1:9090\/v1$/);
assert.deepEqual(p.models.map((m) => m.id), ["qwen3.8-flash-next-iq3_s"]); assert.deepEqual(p.models.map((m) => m.id), ["qwen3.8-flash-next-iq3_s"]);
// Strata reads pictures with its vision encoder (setup --vision cpu); pi drops images for text-only models.
assert.deepEqual(p.models[0].input, ["text", "image"]);
}); });
test("models.json: tote Dual-/Alt-Provider sind entfernt", () => { test("models.json: tote Dual-/Alt-Provider sind entfernt", () => {