Kazeia-engine/dist/README.md

1.8 KiB

Kazeia-Engine — intégration kazeia-android

Moteur LLM (+ TTS) GGUF, sans .pte, fork llama.cpp upstream + backend Hexagon. Remplace ExecuTorch/Genie pour le LLM. STT reste ORT-QAIRT (inchangé). Prefill NPU / decode CPU. Modèle dense (Qwen3) plein NPU ; hybride (Qwen3.5 DDDA) GDN sur NPU corrigé.

0. Périmètre

Brique Avant Après
LLM Speaker/Thinker ExecuTorch .pte Kazeia-Engine GGUF
TTS Talker/CP ggml-cpu engine (Talker prefill HTP option.)
TTS Decoder libtts_decoder_ggml inchangé
STT Whisper ORT-QAIRT inchangé

1. Contenu du paquet

  • lib/ : libkazeia_engine.so (bridge JNI) + libllama.so + libggml{,-base,-cpu,-hexagon}.so + libggml-htp-v68/69/73/75/79/81.so (sélection auto = V79 sur Pad3). 168 MB.
  • jni/ : kazeia_engine_jni.cpp, EngineLlmEngine.kt. include/, CMakeLists.txt.
  • INTEGRATION.md (steps), TTS.md, MODELS.md, PERF.md, PITFALLS.md.

2. Build (5 étapes)

  1. lib/*.sokazeia-android/app/src/main/jniLibs/arm64-v8a/
  2. jni/kazeia_engine_jni.cppapp/src/main/jni/, include/*.h à côté
  3. EngineLlmEngine.ktcom/kazeia/llm/, System.loadLibrary("kazeia_engine")
  4. CMake: lib avec libllama+libggml+libggml-base, -march=armv8.6-a+dotprod+fp16+i8mm+bf16
  5. GGUF → external storage, paths via KazeiaApplication.LLM_DIR

3. Cascade — remplace LlmProcessor cascade

Thinker Guard-4B → 4 bullets ; Speaker 9B = SYS_KAZEIA+bullets. Mono-moteur, reset() entre tours. Prompts: voir RAPPORT_KAZEIA §8. --reasoning-budget 0 impératif (sinon ramble anglais) : EngineLlmEngine met thinking off. Mesuré: 9B>4B qualité, Speaker=9B.

→ MODELS.md (choix), PERF.md (chiffres), PITFALLS.md (params_fit, no tty, OOM 30B+), INTEGRATION.md (détail API). API: load/generate/reset/free.