Google released EmbeddingGemma 2, a compact open-weight multimodal embedding model based on Gemma 4, designed to make semantic search and retrieval-augmented generation more efficient while optimizing for on-device deployment. The model delivers low-latency semantic representations for on-device applications like search, RAG, classification, and clustering.
EmbeddingGemma 2 supports a wide range of retrieval tasks: finding relevant documents, screenshots, and recordings in response to a query; searching source code using natural language; and retrieving video content based on textual descriptions. Google's key feature is the model's ability to represent text, code, images, video, and audio in a unified 768-dimensional embedding space. Embeddings from different modalities occupy the same dimensional space and can be compared on semantic similarity.
The model scales from 270 million parameters for text and code to 740 million for full multimodal support. Google reports it "significantly outperforms EmbeddingGemma 1 on code search and technical retrieval, making it ideal for local codebase indexing and agentic code search". The model supports Matryoshka Representation Learning (MRL), allowing embeddings to be truncated into shorter unit-length vectors. Storing a million 768-dimensional vectors at bfloat16 precision takes roughly 1.5 GB of memory; truncating to 128 dimensions requires just 250 MB — a sixfold reduction. Google recommends using truncation only when storage or search speed require it. At 128 dimensions, the model retains approximately 90% of quality with text but performance drops to around 75% for image, video, and speech retrieval.
Community feedback on EmbeddingGemma 2
Reddit user Distinct-Target7503 highlighted the model's multimodal capabilities while questioning the extent of its improvements for text-only tasks: "The impressive thing about this one is that it can embedd images and audio in a shared semantic space, but for text only it is not a massive improvement."
Reddit user Open-Adhesiveness-86 cautioned developers about correct model usage: "Two things that bit me on the first embeddinggemma and probably still apply: the task prefixes aren't optional, indexing docs with the query prefix instead of 'title: none | text: ' noticeably hurt recall. And if you truncate for MRL, slice first then L2-normalize the shorter vector, normalizing at 768 and then cutting gives you off-norm vectors."
EmbeddingGemma was introduced last year with a focus on "offline and privacy-sensitive scenarios, such as searching across personal files locally, running mobile RAG pipelines with Gemma 3n, or building domain-specific chatbots". EmbeddingGemma 2 is available on Hugging Face.