15 lines
743 B
Kotlin
15 lines
743 B
Kotlin
package com.kazeia.llm
|
|
// Remplace ExecuTorchLlmEngine. Mono-moteur Speaker+Thinker (budget thinking off).
|
|
class EngineJni {
|
|
external fun load(ggufPath: String, nCtx: Int): Long
|
|
external fun generate(h: Long, prompt: String, maxTok: Int): String
|
|
external fun reset(h: Long); external fun free(h: Long)
|
|
companion object { init { System.loadLibrary("kazeia_engine") } }
|
|
}
|
|
class EngineLlmEngine(model: String, ctx: Int = 2048) {
|
|
private val jni = EngineJni(); private val h = jni.load(model, ctx)
|
|
// Thinker: bullets; Speaker: SYS_KAZEIA + bullets. reset() entre tours, ou cache persistant.
|
|
fun generate(p: String, max: Int = 64) = jni.generate(h, p, max)
|
|
fun reset() = jni.reset(h); fun release() = jni.free(h)
|
|
}
|