<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>API reference on Llamatik Documentation</title><link>http://docs.llamatik.com/v1-legacy/api/</link><description>Recent content in API reference on Llamatik Documentation</description><generator>Hugo</generator><language>en-us</language><copyright>Copyright © 2026 Llamatik. All rights reserved.</copyright><atom:link href="http://docs.llamatik.com/v1-legacy/api/index.xml" rel="self" type="application/rss+xml"/><item><title>LlamaBridge</title><link>http://docs.llamatik.com/v1-legacy/api/llamabridge/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://docs.llamatik.com/v1-legacy/api/llamabridge/</guid><description>&lt;blockquote class="book-hint warning" &gt;

**⚠️ Legacy (v1.x)** — You are viewing the old documentation. [View current v2.0 docs](/)
&lt;/blockquote&gt;
&lt;p&gt;&lt;code&gt;LlamaBridge&lt;/code&gt; is the main multiplatform entry point for GGUF-based language models in Llamatik.
It exposes a compact API for:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;text generation&lt;/li&gt;
&lt;li&gt;retrieval-friendly embeddings&lt;/li&gt;
&lt;li&gt;streaming tokens&lt;/li&gt;
&lt;li&gt;JSON and JSON Schema constrained output&lt;/li&gt;
&lt;li&gt;generation parameter tuning&lt;/li&gt;
&lt;li&gt;KV cache reuse and session persistence&lt;/li&gt;
&lt;li&gt;model introspection (finetune type, chat template)&lt;/li&gt;
&lt;li&gt;concurrent independent sessions via &lt;code&gt;LlamaSession&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Multi-Token Prediction (MTP) for faster speculative generation&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Under the hood, the actual implementation is platform-specific, but the public API stays the same.&lt;/p&gt;</description></item><item><title>GenStream</title><link>http://docs.llamatik.com/v1-legacy/api/genstream/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://docs.llamatik.com/v1-legacy/api/genstream/</guid><description>&lt;blockquote class="book-hint warning" &gt;

**⚠️ Legacy (v1.x)** — You are viewing the old documentation. [View current v2.0 docs](/)
&lt;/blockquote&gt;
&lt;p&gt;&lt;code&gt;GenStream&lt;/code&gt; is the callback interface used by Llamatik&amp;rsquo;s streaming generation APIs.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-kotlin" data-lang="kotlin"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;interface&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;GenStream&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;fun&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;onDelta&lt;/span&gt;(text: String)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;fun&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;onComplete&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;fun&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;onError&lt;/span&gt;(message: String)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="when-to-use-it"&gt;When to use it&lt;a class="anchor" href="#when-to-use-it"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Use &lt;code&gt;GenStream&lt;/code&gt; when you want to show output progressively instead of waiting for the full answer.
This is the typical choice for chat UIs, terminals, typing animations, or any screen where responsiveness matters.&lt;/p&gt;</description></item><item><title>StableDiffusionBridge</title><link>http://docs.llamatik.com/v1-legacy/api/stablediffusionbridge/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://docs.llamatik.com/v1-legacy/api/stablediffusionbridge/</guid><description>&lt;blockquote class="book-hint warning" &gt;

**⚠️ Legacy (v1.x)** — You are viewing the old documentation. [View current v2.0 docs](/)
&lt;/blockquote&gt;
&lt;p&gt;&lt;code&gt;StableDiffusionBridge&lt;/code&gt; provides on-device text-to-image generation.
It is intended for apps that want local image generation without sending prompts or generated images to external servers.&lt;/p&gt;
&lt;h2 id="platform-support"&gt;Platform support&lt;a class="anchor" href="#platform-support"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Current support in the library code:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Android&lt;/strong&gt;: supported&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;iOS&lt;/strong&gt;: supported&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;JVM / Desktop&lt;/strong&gt;: supported&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;WASM&lt;/strong&gt;: currently not implemented&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="public-api"&gt;Public API&lt;a class="anchor" href="#public-api"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-kotlin" data-lang="kotlin"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;expect&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;object&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;StableDiffusionBridge&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;fun&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;getModelPath&lt;/span&gt;(modelFileName: String): String
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;fun&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;initModel&lt;/span&gt;(modelPath: String, threads: Int = -&lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;): Boolean
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;fun&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;txt2img&lt;/span&gt;(
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; prompt: String,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; negativePrompt: String? = &lt;span style="color:#66d9ef"&gt;null&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width: Int = &lt;span style="color:#ae81ff"&gt;512&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height: Int = &lt;span style="color:#ae81ff"&gt;512&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; steps: Int = &lt;span style="color:#ae81ff"&gt;20&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; cfgScale: Float = &lt;span style="color:#ae81ff"&gt;7.0f&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; seed: Long = -&lt;span style="color:#ae81ff"&gt;1L&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ): ByteArray
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;fun&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;img2img&lt;/span&gt;(
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; initImageRgba: ByteArray,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; initImageW: Int,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; initImageH: Int,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; prompt: String,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; negativePrompt: String? = &lt;span style="color:#66d9ef"&gt;null&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width: Int = &lt;span style="color:#ae81ff"&gt;512&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; height: Int = &lt;span style="color:#ae81ff"&gt;512&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; steps: Int = &lt;span style="color:#ae81ff"&gt;20&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; cfgScale: Float = &lt;span style="color:#ae81ff"&gt;7.0f&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; strength: Float = &lt;span style="color:#ae81ff"&gt;0.75f&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; seed: Long = -&lt;span style="color:#ae81ff"&gt;1L&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ): ByteArray
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;fun&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;release&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="getmodelpathmodelfilename"&gt;&lt;code&gt;getModelPath(modelFileName)&lt;/code&gt;&lt;a class="anchor" href="#getmodelpathmodelfilename"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Returns a usable path for the model file on the current platform.&lt;/p&gt;</description></item><item><title>WhisperBridge</title><link>http://docs.llamatik.com/v1-legacy/api/whisperbridge/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://docs.llamatik.com/v1-legacy/api/whisperbridge/</guid><description>&lt;blockquote class="book-hint warning" &gt;

**⚠️ Legacy (v1.x)** — You are viewing the old documentation. [View current v2.0 docs](/)
&lt;/blockquote&gt;
&lt;p&gt;&lt;code&gt;WhisperBridge&lt;/code&gt; provides on-device speech-to-text using Whisper models.
Its API is intentionally small: initialize a model, transcribe a WAV file, and release resources when done.&lt;/p&gt;
&lt;h2 id="platform-support"&gt;Platform support&lt;a class="anchor" href="#platform-support"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Platform&lt;/th&gt;
 &lt;th&gt;Status&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Android&lt;/td&gt;
 &lt;td&gt;supported&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;iOS&lt;/td&gt;
 &lt;td&gt;supported&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;JVM / Desktop&lt;/td&gt;
 &lt;td&gt;supported&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;WASM&lt;/td&gt;
 &lt;td&gt;not implemented&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="public-api"&gt;Public API&lt;a class="anchor" href="#public-api"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-kotlin" data-lang="kotlin"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;expect&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;object&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;WhisperBridge&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;fun&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;getModelPath&lt;/span&gt;(modelFileName: String): String
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;fun&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;initModel&lt;/span&gt;(modelPath: String): Boolean
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;fun&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;transcribeWav&lt;/span&gt;(
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; wavPath: String,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; language: String? = &lt;span style="color:#66d9ef"&gt;null&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; initialPrompt: String? = &lt;span style="color:#66d9ef"&gt;null&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ): String
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;fun&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;transcribeWavSegments&lt;/span&gt;(
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; wavPath: String,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; language: String? = &lt;span style="color:#66d9ef"&gt;null&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; initialPrompt: String? = &lt;span style="color:#66d9ef"&gt;null&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; translate: Boolean = &lt;span style="color:#66d9ef"&gt;false&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; diarize: Boolean = &lt;span style="color:#66d9ef"&gt;false&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ): String
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;fun&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;release&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="getmodelpathmodelfilename"&gt;&lt;code&gt;getModelPath(modelFileName)&lt;/code&gt;&lt;a class="anchor" href="#getmodelpathmodelfilename"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Returns a platform-usable path for the Whisper model file.&lt;/p&gt;</description></item><item><title>MultimodalBridge</title><link>http://docs.llamatik.com/v1-legacy/api/multimodalbridge/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://docs.llamatik.com/v1-legacy/api/multimodalbridge/</guid><description>&lt;blockquote class="book-hint warning" &gt;

**⚠️ Legacy (v1.x)** — You are viewing the old documentation. [View current v2.0 docs](/)
&lt;/blockquote&gt;
&lt;p&gt;&lt;code&gt;MultimodalBridge&lt;/code&gt; provides on-device vision-language model (VLM) inference.
It combines a language model with a multimodal projector to analyze images and answer questions about them.&lt;/p&gt;
&lt;h2 id="platform-support"&gt;Platform support&lt;a class="anchor" href="#platform-support"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Android&lt;/strong&gt;: supported&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;iOS&lt;/strong&gt;: supported&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;JVM / Desktop&lt;/strong&gt;: supported&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;WASM&lt;/strong&gt;: model paths are stored, but analysis is dispatched to a Web Worker — the worker must be wired up separately&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="public-api"&gt;Public API&lt;a class="anchor" href="#public-api"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-kotlin" data-lang="kotlin"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;expect&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;object&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;MultimodalBridge&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;fun&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;initModel&lt;/span&gt;(modelPath: String, mmprojPath: String): Boolean
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;fun&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;analyzeImageBytesStream&lt;/span&gt;(
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; imageBytes: ByteArray,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; prompt: String,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; callback: GenStream,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; )
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;fun&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;cancelAnalysis&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;fun&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;release&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="initmodelmodelpath-mmprojpath"&gt;&lt;code&gt;initModel(modelPath, mmprojPath)&lt;/code&gt;&lt;a class="anchor" href="#initmodelmodelpath-mmprojpath"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Loads both the language model and the multimodal projector (mmproj).
Returns &lt;code&gt;true&lt;/code&gt; on success.&lt;/p&gt;</description></item><item><title>LlamaSession</title><link>http://docs.llamatik.com/v1-legacy/api/llamasession/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://docs.llamatik.com/v1-legacy/api/llamasession/</guid><description>&lt;blockquote class="book-hint warning" &gt;

**⚠️ Legacy (v1.x)** — You are viewing the old documentation. [View current v2.0 docs](/)
&lt;/blockquote&gt;
&lt;p&gt;&lt;code&gt;LlamaSession&lt;/code&gt; is an isolated inference session with its own KV cache and cancel flag.
It is the right tool when you need multiple independent generation streams running concurrently.&lt;/p&gt;
&lt;p&gt;Create sessions via &lt;code&gt;LlamaBridge.createSession()&lt;/code&gt;. Dispose with &lt;code&gt;close()&lt;/code&gt; when done.&lt;/p&gt;
&lt;h2 id="platform-support"&gt;Platform support&lt;a class="anchor" href="#platform-support"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Android&lt;/strong&gt;: supported&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;iOS&lt;/strong&gt;: supported&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;JVM / Desktop&lt;/strong&gt;: supported&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;WASM&lt;/strong&gt;: currently not implemented — &lt;code&gt;createSession()&lt;/code&gt; returns &lt;code&gt;null&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="public-api"&gt;Public API&lt;a class="anchor" href="#public-api"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-kotlin" data-lang="kotlin"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;expect&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;class&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;LlamaSession&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;val&lt;/span&gt; name: String
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;fun&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;stream&lt;/span&gt;(prompt: String, callback: GenStream)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;fun&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;cancel&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;fun&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;close&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="creating-a-session"&gt;Creating a session&lt;a class="anchor" href="#creating-a-session"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Sessions are created from &lt;code&gt;LlamaBridge&lt;/code&gt; after a generation model has been loaded.
Pass a human-readable name to identify the session in your UI:&lt;/p&gt;</description></item></channel></rss>