EmbeddingGemma 2 — text + audio (no vision), LiteRT-LM
litert-community/embeddinggemma-2-740m-litert-lm
repacked without the vision encoder: text backbone (270M) + audio encoder (300M) = 570M parameters,
same shared 768-d space, same tokenizer and embedding metadata.
| 740M (original) | this repack | |
|---|---|---|
| Modalities | text, image, video, audio | text, audio |
| File | 485 MB | 262 MB |
| Sections | 16 | 11 (vision encoder, adapter, end-of-vision graphs and their weights removed) |
Nothing is re-quantized or re-exported: the remaining sections are byte-for-byte those of the original,
repackaged with the official litert-lm-builder 0.18.0 (unpack, drop the five vision sections,
toml → output). model_text_audio.toml is the build file.
Equivalence check (litert-lm 0.18.0 Python, CPU): two text inputs and two 10 s, 16 kHz speech clips
give identical embeddings with both files (max |Δ| = 0.0 over all 768 dims).
Use
import litert_lm as L
from litert_lm._messages import AudioFile
e = L.EmbeddingEngine("embeddinggemma-2-570m-text-audio.litertlm",
backend=L.Backend.CPU(), audio_backend=L.Backend.CPU(), cache_dir="cache")
q = e.compute_embedding("task: search result | query: who won the first prize?").embedding
a = e.compute_embedding(AudioFile("/abs/path/clip.wav")).embedding # 16 kHz mono
Text inputs take the EmbeddingGemma 2 task prefixes (see the main model card); audio takes none. Image or video inputs are not supported by this file.
Made for on-device meeting search in Prime Minutes (search the recording itself, not only its transcript). License and use as for the original: Apache-2.0, Gemma Prohibited Use Policy.
sha256 of the .litertlm: 9391b4169c9cb2543c6848091aae025138ee96262daebcd396e73c7be8b3d73a