20 lines
1.2 KiB
Markdown
20 lines
1.2 KiB
Markdown
# Intégrer Kazeia-Engine dans kazeia-android
|
|
|
|
Remplace LLM ExecuTorch/Genie par llama.cpp upstream + Hexagon. **LLM + TTS** sur l'engine ; **STT reste ORT-QAIRT** (inchangé). Modèles GGUF, pas de `.pte`.
|
|
|
|
## Bascule clé
|
|
`--reasoning-budget 0` (sinon Qwen3.5 ramble anglais). Prefill NPU / decode CPU. Speaker+Thinker = même engine, instances séparées ou cache.
|
|
|
|
## libs/ → jniLibs/arm64-v8a
|
|
libllama.so, libggml{,-base,-cpu,-hexagon}.so, libggml-htp-v68/69/73/75/79/81.so (sel. auto V79). Statiques: libcommon.a. Headers: include/{llama,ggml,common}.h. Build `-march=armv8.6-a+dotprod+fp16+i8mm+bf16`.
|
|
|
|
## Modèles (push tablette)
|
|
Speaker Qwen3.5-9B-Q4_0 5.0GB (ou 4B 2.4). Thinker Guard-4B Q4_K_M 2.5GB. Cascade 7.5GB OK. tokenizer dans le GGUF.
|
|
|
|
## Perf cible (mesuré)
|
|
9B prefill 70 / decode 5.7 ; 3.5-4B 93/8.5 ; dense 4B 285/14. decode t4+fa (PAS t8), prefill t8/b512. 9B>4B qualité. cli -ngl99 -dev HTP0. ENV: LD_LIBRARY_PATH+ADSP_LIBRARY_PATH=jniLibs.
|
|
|
|
## Cascade (RAPPORT_KAZEIA prompts): Guard-4B bullets → 9B SYS_KAZEIA+bullets. reset() entre tours. JNI: kazeia_engine_jni.cpp + EngineLlmEngine.kt. TTS Talker/CP GGUF chargeables sur même backend (Talker prefill HTP).
|
|
|
|
## ⚠ pièges: pas de -st sans tty; -ngl fixé = params_fit throw; 30B/35B OOM.
|