Instructions to use aoiandroid/bluegemma-android with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- LiteRT
How to use aoiandroid/bluegemma-android with LiteRT:
# No code snippets available yet for this library. # To use this model, check the repository files and the library's documentation. # Want to help? PRs adding snippets are welcome at: # https://github.com/huggingface/huggingface.js
- Notebooks
- Google Colab
- Kaggle
| language: | |
| - en | |
| - ja | |
| - zh | |
| - ko | |
| - de | |
| - fr | |
| - es | |
| - pt | |
| license: gemma | |
| library_name: litert | |
| pipeline_tag: automatic-speech-recognition | |
| tags: | |
| - android | |
| - kotlin | |
| - vulkan | |
| - nnapi | |
| - litert | |
| - bluegemma | |
| - streamgemma | |
| - 100-languages | |
| # Bluegemma for Android: On-Device 100-Language High-Speed ASR, LLM & MT Engine | |
| **Bluegemma-Android** is an ultra-optimized LiteRT-LM FlatBuffers Binary (`Bluegemma.litertlm` / `streamgemma-micro.litertlm`) for Android devices (Android 10+, API Level 29+), enabling on-device **Speech-to-Text (ASR)**, **Language Understanding (LLM)**, and **Machine Translation (MT)** with Vulkan GPU & NNAPI NPU acceleration. | |
| --- | |
| ## Android On-Device Performance & Benchmark Summary | |
| | Evaluation Axis | 100-Language Metric | Measured Score | Speed / Latency | Hardware Backend | Status | | |
| | :--- | :--- | :---: | :---: | :---: | :---: | | |
| | **Speech Recognition (ASR)** | Mean WER / CER | **`0.92%`** | **RTF `0.7166` (1.40x)** | Vulkan GPU / NNAPI NPU | **[PASS]** | | |
| | **Language Understanding (LLM)** | Multilingual MMLU | **`72.34%`** | **TPS `14.46 tokens/s`** | Vulkan GPU Acceleration | **[PASS]** | | |
| | **Machine Translation (MT)** | $X \leftrightarrow \text{EN}$ BLEU | **`40.07`** | **TTFT `22.45 ms`** | Vulkan GPU Acceleration | **[PASS]** | | |
| --- | |
| ## Kotlin Code Integration Example | |
| ```kotlin | |
| import com.google.litert.lm.LiteRTLMEngine | |
| import com.google.litert.lm.LiteRTLMConfig | |
| class BluegemmaAndroidRunner(private val context: Context) { | |
| private var engine: LiteRTLMEngine? = null | |
| fun initializeEngine() { | |
| val modelFile = File(context.filesDir, "Bluegemma.litertlm") | |
| val config = LiteRTLMConfig.builder() | |
| .setModelPath(modelFile.absolutePath) | |
| .setBackend(LiteRTLMConfig.Backend.VULKAN) // Vulkan GPU Acceleration | |
| .setBeamWidth(10) | |
| .setLmAlpha(0.6f) | |
| .setWordBeta(1.2f) | |
| .setEnableLIDMasking(true) | |
| .build() | |
| engine = LiteRTLMEngine.create(config) | |
| } | |
| fun processAudioStream(pcmData: FloatArray): String { | |
| return engine?.processAudioStream(pcmData) ?: "" | |
| } | |
| } | |
| ``` | |
| --- | |
| ## Container Contents | |
| - `Bluegemma.litertlm` (686.24 MB): Complete INT8 FlatBuffers Major Version 1 Binary Container for LiteRT-LM Android. | |
| - `streamgemma-micro.litertlm`: Lightweight FlatBuffers Binary Container for LiteRT-LM Android. | |