diff --git a/BEDIENUNGSANLEITUNG.md b/BEDIENUNGSANLEITUNG.md index b071c10..3e29416 100644 --- a/BEDIENUNGSANLEITUNG.md +++ b/BEDIENUNGSANLEITUNG.md @@ -151,7 +151,9 @@ HF_HOME=/mnt/daten/huggingface ./start-coding-server.sh ### 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 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 diff --git a/models.json b/models.json index 1b7afae..4aab46f 100644 --- a/models.json +++ b/models.json @@ -53,7 +53,7 @@ "id": "qwen3.8-flash-next-iq3_s", "name": "Strata Qwen3.8-Flash-Next IQ3_S (lokal :9090)", "reasoning": true, - "input": ["text"], + "input": ["text", "image"], "contextWindow": 262144, "maxTokens": 16384, "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 } diff --git a/tests/config.test.mjs b/tests/config.test.mjs index 592a581..7ce1c33 100644 --- a/tests/config.test.mjs +++ b/tests/config.test.mjs @@ -20,6 +20,8 @@ test("models.json: Provider strata zeigt auf den lokalen Strata-Server (:9090)", assert.ok(p, "Provider strata fehlt"); 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"]); + // 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", () => {