diff --git a/kazeia-android/app/src/main/java/com/kazeia/llm/BenchLlmHarness.kt b/kazeia-android/app/src/main/java/com/kazeia/llm/BenchLlmHarness.kt index 427f352..413fb98 100644 --- a/kazeia-android/app/src/main/java/com/kazeia/llm/BenchLlmHarness.kt +++ b/kazeia-android/app/src/main/java/com/kazeia/llm/BenchLlmHarness.kt @@ -27,7 +27,16 @@ object BenchLlmHarness { Log.i(TAG, "########## BENCH LLM (UnifiedLlmAdapter, refonte 2026-06-17) ##########") // Modèles à tester : GGUF par défaut + tous les .pte présents sur disque. - val models = ModelRegistry.availableOnDisk() + // ORDRE DIAG (2026-06-18) : on charge les gros .pte multi-contextes (8B/7B) EN PREMIER, + // dans un process frais, pour isoler "contention in-process après modèles précédents" + // vs "limite in-app fondamentale". Trigger fichier bench_llm_pte_first pour activer. + val pteFirst = java.io.File(ctx.getExternalFilesDir(null), "bench_llm_pte_first").exists() + val models = ModelRegistry.availableOnDisk().let { all -> + if (pteFirst) all.sortedBy { m -> + when (m.id) { "qwen3-8b" -> 0; "qwen2.5-7b" -> 1; "qwen3-4b" -> 2; "guard4b" -> 3; else -> 9 } + } else all + } + if (pteFirst) Log.i(TAG, ">>> ORDRE DIAG : .pte multi-contexte EN PREMIER (process frais)") if (models.isEmpty()) { Log.e(TAG, "aucun modèle sur disque (ni GGUF ni .pte)"); return@runBlocking } for (m in models) {