EmbeddingGemma 2: The Developer Guide
This is a free, open-weight model for developers to build semantic search features (e.g. searching documents, images or audio by meaning rather than exact keywords) into their own apps. It has no direct consumer-facing interface, so it mainly matters if your organisation builds or buys custom search/AI tooling.
What changed
Source summary
Google released EmbeddingGemma 2, an open-source multimodal embedding model (Apache 2.0 licence, built on Gemma 4) that maps text, code, images, video and audio into a single 768-dimensional vector space for cross-modal search. It ranges from 270M to 740M parameters, improves code-search performance 14% over the original EmbeddingGemma, and is available now as weights on Hugging Face for use with sentence-transformers, vLLM, Transformers, Ollama and LiteRT.
Why it matters to your work
Practical interpretation
This is a free, open-weight model for developers to build semantic search features (e.g. searching documents, images or audio by meaning rather than exact keywords) into their own apps. It has no direct consumer-facing interface, so it mainly matters if your organisation builds or buys custom search/AI tooling.
When this could help
Useful when building or upgrading a cross-modal search or RAG system, or when an existing EmbeddingGemma 1 deployment needs better code-search accuracy without a full re-architecture.
A single 768-dimensional vector space across all modalities means a text query can retrieve an image or video result directly, and Matryoshka truncation lets a team trade storage/speed for quality without re-embedding anything.
How to get started
Install sentence-transformers v6.1.0+ with the media extras: pip install -U sentence-transformers[image,audio,video] transformers.
Provider guidance ↗Load the model with SentenceTransformer("google/embeddinggemma-2"); set vision_config/audio_config to None in config_kwargs to skip loading encoders you don't need.
Provider guidance ↗Embed text/code using prompt_name="SearchQuery" for queries and prompt_name="Document" for documents, then compare with model.similarity().
Provider guidance ↗Embed media by passing a dict keyed by modality (image/video/audio); for interleaved text+media, place <|image|>, <|video|>, or <|audio|> tokens where each item belongs.
Provider guidance ↗Truncate dimensions (512/256/128) by passing truncate_dim with normalize_embeddings=True at inference, or set truncate_dim at load time; queries and documents must use the same dimension.
Provider guidance ↗
Build it into your routine
SCALA suggested workflow
Cross-modal document search
Index a mixed archive of PDFs, slides, and video clips once, then let a plain-text staff query retrieve the right slide or video moment without a separate search system per media type.
Storage-constrained retrieval
Truncate vectors to 256 dimensions to cut storage roughly 3x for a large index while keeping most text/code retrieval quality, validating accuracy on real data first before going lower.
What to check
- 128-dimension truncation keeps only about 90% of text/code quality and about 75% of multimodal quality versus full 768 dimensions — the vendor advises validating on your own data before relying on it. Source ↗
- Video is sampled at 1 frame per second by default and audio should be 16kHz mono for best results; all modalities share one 8,192-token context window. Source ↗
Sources & provider guides
Official documentation checked 12 Oct 2026. SCALA prompts and workflows are suggestions, not claims of hands-on testing.
Source & availability
This is a summary of a published provider announcement, with practical context from SCALA’s feed.
Plan, region, workspace and rollout conditions may affect access in Australia. Check the original source for current availability.
developers.googleblog.comThis update is primarily for technical teams.
