[GUI] 0.2.10: DeepSeek-V4.1-Flash models fail to load with "This model is not installed" right after the engine starts (install → loadAfter builds the wrong model id)

Aperta Adatta ai principianti
#5,222 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 4 giorni

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
79/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
javascript

Direzione di ricerca

Inizia da host/server/native-control.mjs, in corrispondenza di install(), e confronta il modo in cui costruisce l’ID del modello per loadEngine() e ui_context_chosen con la ricerca dell’ID in base alle dimensioni del catalogo descritta nell’issue. Riproduci il problema usando uno dei modelli DeepSeek-V4.1-Flash elencati nell’app desktop per Windows; il lavoro è completato quando entrambi si caricano dopo l’installazione e il comportamento di Qwen rimane invariato.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Area

[GUI]

Desktop app, Terminal or source?

Desktop app (Windows)

Reproduction status

Reproduced locally, fixed locally with a small patch (below)

Strata version

Strata desktop 0.2.10 · Control 0.1.56 · engine 0.1.56 · strata-dsv41 0.1.55 (windows-x86_64-cuda-cuda13)
Both DeepSeek sizes were downloaded and installed from the desktop app, and loaded fine from it before the update to 0.2.10 (the exact previous app version is not recorded on this machine). Right after updating to 0.2.10 neither loads, with no change to the run configs.

Graphics card, memory and system

RTX 5090 D 32 GB · 96 GB RAM · Ryzen 7 9800X3D · Windows 11 (10.0.26200)

Model

DeepSeek-V4.1-Flash ISTA-DAS-Coder and IST-DAS-2.00bpw (both affected)

What happened

Pressing Load in the app runs an install job with loadAfter. Setup finishes (result: installed, [ok] test question answered sensibly, RAM/VRAM fill up), then the app frees everything and the job ends with:

This model is not installed. Download and prepare it first.

Every attempt ends the same way. Running the same run config directly (serve\server.py --engine strata --config strata-deepseek-v4.1-flash-ista-das-coder.json) starts and serves normally.

Cause

In host/server/native-control.mjs, install() builds the model id for the follow-up loadEngine() (and for ui_context_chosen) as:

(result.install.family ?? args.family ?? 'qwen') === 'qwen'
  ? String(args.model).toLowerCase()
  : `${args.family}-${String(args.model).toLowerCase()}`

For DeepSeek this gives deepseek41-ista-das-coder, but the catalog size id (catalog.families[].sizes[].id) and the installed entry are deepseek-v4.1-flash-ista-das-coder (and deepseek-v4.1-flash-ist-das-2.00bpw). recordFile() finds no installed entry with that id and throws the error above.

Other code in the same file already looks the id up from the catalog (sizes.find(s => s.model === args.model) then .id, in the drafting-plan code).

Fix that works here
function installedId(family, model) {
  const size = snapshot.catalog?.families?.find(f => f.family === family)?.sizes?.find(s => s.model === model);
  if (size?.id) return size.id;
  return family === 'qwen' ? String(model).toLowerCase() : `${family}-${String(model).toLowerCase()}`;
}

and both id constructions in install() replaced with installedId(result.install.family ?? args.family ?? 'qwen', args.model).

With this patch both DeepSeek sizes load from the app; Qwen is unaffected (it falls back to the old rule).

Side note

The run-config checker warns that engine_ready_s and args_written are "not a setting Strata reads, so it is ignored", but setup writes both (serve/server.py reads engine_ready_s; args_written is setup's own record). Harmless, just noisy.

Lingua principale
C++
Stelle
11.6k
Fork
1k
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di Niko1221/Strata

Tutte le issue di Niko1221/Strata

Issue simili

Altre issue su C++

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.