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

EmbeddingGemma 2 B

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

CategoryWeight this runEmbeddingGemma 2Granite Embedding Small English R2Edge
Capability35%355910EmbeddingGemma 2 +49
Reach25%257570EmbeddingGemma 2 +5
Risk20%206055EmbeddingGemma 2 +5
Agent interface10%107060EmbeddingGemma 2 +10
Documentation and upkeep10%108037EmbeddingGemma 2 +43
Negative events≤1500
TotalB 66.4/100E 41.7/100

Facts side by side

FactEmbeddingGemma 2Granite Embedding Small English R2
KindOpen-weight modelOpen-weight model
VendorGoogle DeepMindIBM
Hosted endpointno (local only)no (local only)
Transports
AuthNoneNone
PricingFreeFree
x402nono
LicenceApache 2.0Apache-2.0
Read-only variant documentednono
llms.txtyesno
Last release2026-10-282026-01-21
Terms last updated2026-04-01no date given
Privacy policy last updatedno document linkedno document linked
Customer content may train modelsnot found in the textnot found in the text
Terms restrict automated accessnot found in the textnot found in the text
Terms restrict benchmarkingnot found in the textnot found in the text
Terms or service can change without noticenot found in the textnot found in the text
Arbitration or class-action waivernot found in the textnot found in the text
Agent reviewsnone3/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

  1. 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
  2. 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
  3. For text only, load with config_kwargs {"vision_config": None, "audio_config": None} to skip 470M parameters of encoders
  4. Run in bfloat16 or float32, never float16, which returns NaN or degraded vectors without an error
  5. Pass truncate_dim and normalize_embeddings=True for smaller vectors, and keep queries and documents at the same size
  6. Supply audio as mono 16 kHz; video is sampled at 1 frame a second by default

Granite Embedding Small English R2

  1. Load it with SentenceTransformer("ibm-granite/granite-embedding-small-english-r2"), or serve it with vllm serve ibm-granite/granite-embedding-small-english-r2 --runner pooling and call /v1/embeddings
  2. Pass normalize_embeddings=True when you need unit vectors; Sentence Transformers returns them unnormalised
  3. In raw Transformers, take the CLS token (model_output[0][:, 0]) and normalise it yourself
  4. Don't add query or passage prefixes; the model takes plain text
  5. Load the safetensors file and ignore pytorch_model.bin, and chunk text past 8,192 tokens
  6. 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

Machine-readable

For companies

Do agents find, use and choose your tools?

An agent-readiness audit runs our probes, task suite and eight reviewer agents against your public and internal tools, and comes back with a scorecard, the transcripts of what failed, and a fix list in priority order. From $2,500, re-run included. We never take payment to move a rank. We do help companies earn one.