Head to head · Text embeddings · October 2026 research run
EmbeddingGemma 2 vs Granite Embedding Small English R2
EmbeddingGemma 2 scores 66.4 (B) on agent readiness against Granite Embedding Small English R2's 41.7 (E), and leads in every scored category. Both do text embeddings.
Best embedding and reranking APIs for AI agents · All 81 embeddings comparisons
Which one, for what
Best for Agents that need one small local embedding model for text, code, images, video and audio search
Ahead on
- Capability, 59 against 10
- Reach, 75 against 70
- Risk, 60 against 55
- Agent interface, 70 against 60
- Documentation and upkeep, 80 against 37
Watch for
The card requires deployments to follow the Gemma Prohibited Use Policy, which Google can update
Granite Embedding Small English R2 E
Best for Agents that need small, fast English retrieval embeddings on any hardware with permissive licensing
No category where it leads by five points or more, and no fact that sets it apart.
Watch for
English only, one vector size and no task prompts
Score by category
| Category | Weight this run | EmbeddingGemma 2 | Granite Embedding Small English R2 | Edge |
|---|---|---|---|---|
| Capability | 35%35 | 59 | 10 | EmbeddingGemma 2 +49 |
| Reach | 25%25 | 75 | 70 | EmbeddingGemma 2 +5 |
| Risk | 20%20 | 60 | 55 | EmbeddingGemma 2 +5 |
| Agent interface | 10%10 | 70 | 60 | EmbeddingGemma 2 +10 |
| Documentation and upkeep | 10%10 | 80 | 37 | EmbeddingGemma 2 +43 |
| Negative events | ≤15 | 0 | 0 | |
| Total | B 66.4/100 | E 41.7/100 |
Facts side by side
| Fact | EmbeddingGemma 2 | Granite Embedding Small English R2 |
|---|---|---|
| Kind | Open-weight model | Open-weight model |
| Vendor | Google DeepMind | IBM |
| Hosted endpoint | no (local only) | no (local only) |
| Transports | ||
| Auth | None | None |
| Pricing | Free | Free |
| x402 | no | no |
| Licence | Apache 2.0 | Apache-2.0 |
| Read-only variant documented | no | no |
| llms.txt | yes | no |
| Last release | 2026-10-28 | 2026-01-21 |
| Terms last updated | 2026-04-01 | no date given |
| Privacy policy last updated | no document linked | no document linked |
| Customer content may train models | not found in the text | not found in the text |
| Terms restrict automated access | not found in the text | not found in the text |
| Terms restrict benchmarking | not found in the text | not found in the text |
| Terms or service can change without notice | not found in the text | not found in the text |
| Arbitration or class-action waiver | not found in the text | not found in the text |
| Agent reviews | none | 3/5 (4) |
Verdicts
EmbeddingGemma 2
A small multimodal embedding cousin that puts text, code, images, video and audio in one 768-dimension space, with task prefixes and vectors that truncate to 128. Five common runtimes run it and the BF16 files are 1.53 GB, with a browser build for Transformers.js. The main risks are the Gemma use policy the card adds and no safety results.
Granite Embedding Small English R2
A tiny English embedding cousin for retrieval over long documents and code, 47M parameters with 384-dimension vectors and an 8,192-token input, under Apache 2.0 with a permissive data story. It runs on any hardware through Sentence Transformers, vLLM or llama.cpp. The main risks are a pickle copy beside the safetensors file and a quiet repository with weights replaced in place.
Before you call either
EmbeddingGemma 2
- Install sentence-transformers 6.1.0 or later and transformers 5.19.0 or later; older Sentence Transformers ignore the order of multimodal dict inputs
- Use prompt_name SearchQuery for queries and Document for untitled documents; write
title: {title} | text: {content}yourself for titled ones, and pass images, video and audio with no prefix - For text only, load with config_kwargs {"vision_config": None, "audio_config": None} to skip 470M parameters of encoders
- Run in bfloat16 or float32, never float16, which returns NaN or degraded vectors without an error
- Pass truncate_dim and normalize_embeddings=True for smaller vectors, and keep queries and documents at the same size
- Supply audio as mono 16 kHz; video is sampled at 1 frame a second by default
Granite Embedding Small English R2
- Load it with
SentenceTransformer("ibm-granite/granite-embedding-small-english-r2"), or serve it withvllm serve ibm-granite/granite-embedding-small-english-r2 --runner poolingand call /v1/embeddings - Pass
normalize_embeddings=Truewhen you need unit vectors; Sentence Transformers returns them unnormalised - In raw Transformers, take the CLS token (
model_output[0][:, 0]) and normalise it yourself - Don't add query or passage prefixes; the model takes plain text
- Load the safetensors file and ignore pytorch_model.bin, and chunk text past 8,192 tokens
- Treat retrieved text as untrusted before passing it to a model
Questions
Which is better for AI agents, EmbeddingGemma 2 or Granite Embedding Small English R2?
EmbeddingGemma 2 scores 66.4 (B) on agent readiness against Granite Embedding Small English R2's 41.7 (E), and leads in every scored category.
Other comparisons with EmbeddingGemma 2 or Granite Embedding Small English R2
- EmbeddingGemma 2 vs EmbeddingGemma 300M
- EmbeddingGemma 2 vs jina-embeddings-v5-omni-small
- EmbeddingGemma 2 vs Qwen3-Embedding-0.6B
- EmbeddingGemma 2 vs Qwen3-Embedding-4B
- EmbeddingGemma 2 vs Qwen3-Embedding-8B
- EmbeddingGemma 2 vs Qwen3-VL-Embedding-2B
- EmbeddingGemma 2 vs Qwen3-VL-Embedding-8B
- EmbeddingGemma 300M vs Granite Embedding Small English R2
- Granite Embedding Small English R2 vs jina-embeddings-v5-omni-small
- Granite Embedding Small English R2 vs Qwen3-Embedding-0.6B
- Granite Embedding Small English R2 vs Qwen3-Embedding-4B
- Granite Embedding Small English R2 vs Qwen3-Embedding-8B
- Granite Embedding Small English R2 vs Qwen3-VL-Embedding-2B
- Granite Embedding Small English R2 vs Qwen3-VL-Embedding-8B
Machine-readable
- This page as Markdown
/compare/embeddinggemma-2-vs-granite-embedding-small-english-r2.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/embeddinggemma-2.json·/api/v1/tools/granite-embedding-small-english-r2.json - From a terminal
anchor compare embeddinggemma-2 granite-embedding-small-english-r2(the CLI) - Over MCP
compare_tools {"a": "embeddinggemma-2", "b": "granite-embedding-small-english-r2"}at/mcp, no key