diff --git a/kazeia-android/app/build.gradle.kts b/kazeia-android/app/build.gradle.kts index 1431844..907084d 100644 --- a/kazeia-android/app/build.gradle.kts +++ b/kazeia-android/app/build.gradle.kts @@ -44,8 +44,8 @@ android { applicationId = "com.kazeia" minSdk = 28 targetSdk = 36 - versionCode = 6 - versionName = "0.1.5" + versionCode = 7 + versionName = "0.1.6" // WebDAV de distribution — injecté depuis local.properties. buildConfigField("String", "WEBDAV_BASE", "\"${localProp("webdav.base")}\"") diff --git a/kazeia-android/app/src/main/java/com/kazeia/config/ConfigStore.kt b/kazeia-android/app/src/main/java/com/kazeia/config/ConfigStore.kt index 38fe411..5a1e665 100644 --- a/kazeia-android/app/src/main/java/com/kazeia/config/ConfigStore.kt +++ b/kazeia-android/app/src/main/java/com/kazeia/config/ConfigStore.kt @@ -40,10 +40,13 @@ class ConfigStore private constructor(private val file: File) { * (Kazeia-Engine unifié, A/B identique sur set 6 audios mais à valider plus large). * Pilotable depuis l'app admin / provider. Defaults safe = "prod". */ val sttEngine: String = "prod", - /** Backend LLM : "prod" = ExecuTorchLlmEngine (.pte Qwen3 dense), "lib" = - * EngineLlmAdapter (libkazeia_engine + GGUF Qwen3.5). Defaults safe = "prod". - * Bascule "lib" nécessite libllama.so fork ql dans jniLibs. */ - val llmEngine: String = "prod", + /** Backend LLM : "lib" = EngineLlmAdapter (libkazeia_engine + GGUF Qwen3.5, + * q35-lmq4 par défaut) — défaut depuis 2026-06-15 : on n'utilise PLUS le + * .pte avec kazeia-engine (directive). "prod" = ExecuTorchLlmEngine (.pte) — + * conservé en repli d'urgence uniquement ; sur cette plateforme le runner QNN + * du .pte échoue au load (« Failed to load llm runner [1] »), donc à éviter. + * "lib" valide device : load q35-lmq4.gguf 2.6s + génération FR cohérente. */ + val llmEngine: String = "lib", /** Backend TTS : "lib" = libkazeia_tts unifié (SEUL compatible avec le * libllama.so fork ql embarqué depuis 2026-06-02), "prod" = Qwen3TtsEngine * legacy — CRASHE (SIGSEGV nativeInit, dérive ABI llama_context_params) tant diff --git a/kazeia-android/app/src/main/java/com/kazeia/config/ModelRegistry.kt b/kazeia-android/app/src/main/java/com/kazeia/config/ModelRegistry.kt index 92c11d9..5850851 100644 --- a/kazeia-android/app/src/main/java/com/kazeia/config/ModelRegistry.kt +++ b/kazeia-android/app/src/main/java/com/kazeia/config/ModelRegistry.kt @@ -127,7 +127,9 @@ object ModelRegistry { fun byId(id: String): ModelInfo? = ALL.firstOrNull { it.id == id } - fun defaultSpeaker(): ModelInfo = byId("qwen3-4b-seq1024") + // Défaut = Speaker GGUF (moteur kazeia-engine lib) — on n'utilise plus de .pte + // (directive 2026-06-15). Repli : tout autre Speaker présent sur disque. + fun defaultSpeaker(): ModelInfo = byId("qwen3.5-4b") ?: ALL.first { it.role == Role.SPEAKER && it.fileExists() } fun defaultThinker(): ModelInfo = byId("guard06b")