Llamatik
Kotlin 多平台端侧 AI SDK,一套代码在 Android/iOS/桌面/WASM 上运行
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
Kotlin 多平台端侧 AI SDK,一套代码在 Android/iOS/桌面/WASM 上运行
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。

图1: Llamatik 官方 Logo
你有没有想过,手机上能不能跑一个不需要联网、不怕隐私泄露的 AI 助手?不需要把聊天记录上传到云端,所有推理都在本地完成,就像把一块 GPU 装进口袋——这就是 Llamatik 试图解决的核心问题。
作为一个真正的 Kotlin Multiplatform(KMP)AI 库,Llamatik 能让 Android、iOS、桌面端(JVM/WASM)应用同时拥有三项端侧 AI 能力:大语言模型推理(llama.cpp)、语音转文字(whisper.cpp)、图片生成(stable-diffusion.cpp),而这一切只需要一套 Kotlin 代码接口。对移动端开发者来说,这意味着终于可以用熟悉的 Kotlin 生态,而不是被迫引入 Python 服务端或第三方闭源 SDK。
Llamatik 由独立开发者 Ferran Pons 创建,2025年7月正式开源,遵循 MIT 许可证。项目托管于 GitHub 并通过 Maven Central 发布,当前版本 1.7.0,集成 llama.cpp b9574、whisper.cpp v1.8.4 和 stable-diffusion.cpp。
这个项目的诞生背景很有意思——在此之前,移动端要跑 llama.cpp 主要靠 Android NDK + JNI 手动集成 C++ 代码,或者用各平台自己的封装库。Ferran Pons 作为 Kotlin/Native 的深度用户,决定把这条路走通:让 Kotlin Multiplatform 的 expect/actual 机制覆盖掉所有平台差异,开发者写一套 API,底层自动路由到对应平台的 llama.cpp 实现。
这种思路在 KMP 生态中有迹可循——Ktor 作为跨平台 HTTP 客户端、SQLDelight 作为跨平台数据库,都是通过 Kotlin/Native 的 C Interop 绑定原生 C 库。Llamatik 把这个模式搬到了 AI 推理领域。
LlamaBridge 是整个库的核心 API,通过 expect object 定义跨平台接口,Android/iOS/Desktop 各自通过 JNI 或 Kotlin/Native C Interop 调用底层 llama.cpp。目前支持的特性包括:
generateJson() 方法可以传入 JSON Schema,确保模型输出结构化数据,对接 RAG 或表单类场景非常有用LlamaSession 同时运行多个独立推理上下文,互不干扰底层 llama.cpp 的所有参数均可配置:temperature、top-k、top-p、repeat penalty、context length、线程数、mmap 策略、Flash Attention、GPU layers。手机端通常设 gpuLayers=0(CPU 推理)或少量层放 GPU 加速。
WhisperBridge 支持本地语音识别,集成模型下载和管理功能。关键接口:
transcribeWavSegments() 返回每段文字 + 时间戳 + 检测语言 + 说话人切换边界-tdrz 模型)做精细说话人分离通过 stable-diffusion.cpp 实现本地文生图和图生图:txt2img() 和 img2img(),后者通过 strength 参数控制对原图的保留程度。
Llamatik 并非纯离线方案。它内置了 HTTP 客户端模式,通过配置可以无缝切换到远程 llama.cpp 兼容服务器推理。这意味着:
作者还提供了配套的 llamatik-backend 服务端项目,部署在服务器上作为推理后端。
对于 Android 开发者,Llamatik 的上手路径相对清晰:添加 Maven Central 依赖 -> 将 GGUF 模型文件放入 assets -> 调用 LlamaBridge API。项目通过 Gradle 自动下载预编译的 llama.cpp 二进制,无需手动编译 NDK。
但 iOS 开发者需要注意,Llamatik 生成 iOS 静态 Framework 需要 macOS 环境(Xcode + Kotlin/Native toolchain),Linux/Windows 下无法构建 iOS 目标。这是 Kotlin/Native iOS 工具链的固有限制,非 Llamatik 本身的问题。Android 和 JVM Desktop 在任意平台均可构建。
模型文件需要自行下载——GGUF 格式的 LLM(如 Qwen2.5、Phi-2)和 BIN 格式的 Whisper 模型需要从 HuggingFace 等渠道获取。首次加载模型时 LlamaBridge 会从 assets 复制到应用私有目录,模型体积从数百 MB 到数 GB 不等。
部署难度评分为困难,主要原因是:项目本身是 SDK 而非可运行应用,开发者需要具备 Kotlin Multiplatform 项目经验才能正确集成;Android NDK 环境、macOS iOS 交叉编译、EMSDK(WASM 构建)都有一定配置门槛。
Llamatik 面临的挑战也是端侧 AI 在移动端落地的普遍困境:
性能与效果的权衡:手机 CPU/GPU 算力有限,7B 以上模型在移动端跑起来速度较慢,通常需要量化版本(Q4_0 等)才能流畅运行。量化会牺牲模型精度,复杂推理任务的效果不如云端。
包体积膨胀:集成 llama.cpp + whisper.cpp + stable-diffusion.cpp 三套 C++ 推理引擎,应用安装包会显著增大。作者通过 Maven Central 分发预编译二进制缓解了这个问题,但终端用户设备上仍有数百 MB 的模型文件。
平台碎片化:Android 端 NDK 版本、GPU 驱动差异可能导致 llama.cpp 在某些设备上表现不稳定;iOS 端 Metal GPU 加速的支持依赖于 llama.cpp 本身的实现进度。
文档国际化:当前文档以英文为主,对中文开发者有一定阅读门槛。项目 README 很长(3万字符),但缺少中文指南。
Llamatik 代表了一个值得关注的技术方向:在隐私监管趋严、AI 数据安全要求提升的背景下,端侧 AI 正在从概念走向工程化落地。Llamatik 的增长曲线(2025年7月创建,168 stars)虽然比不上动辄数万星的明星项目,但它是目前 Kotlin 生态中唯一将 llama.cpp/whisper.cpp 完整封装成 KMP 库的作品。
从趋势看,Apple 在 CoreML 中持续推进端侧模型、Qualcomm 的 AI Engine 在移动芯片上持续优化推理效率、Google 推出 Android AICore,端侧 AI 的基础设施正在成熟。Llamatik 提前卡位 Kotlin Multiplatform 这个空白的集成层,未来可随着 KMP 生态一起成长。

图2: Llamatik Android 应用截图 — 手机端直接在本地运行 LLM 对话界面

图3: Llamatik iOS 应用截图 — iPhone 上本地语音转文字演示

图4: Llamatik iPad 应用截图 — 大屏设备上的 AI 对话界面

图5: Llamatik 功能特性图 — 展示离线优先、隐私保护、多平台支持三大卖点