Head to head · Text embeddings · October 2026 research run

Granite Embedding Small English R2 vs jina-embeddings-v5-omni-small

jina-embeddings-v5-omni-small scores 50.2 (D) on agent readiness against Granite Embedding Small English R2's 41.7 (E), and leads in 3 of 5 scored categories. Granite Embedding Small English R2 leads on reach and risk. Both do text embeddings.

Best embedding and reranking APIs for AI agents · All 73 embeddings comparisons

Which one, for what

Granite Embedding Small English R2 E

Best for Agents that need small, fast English retrieval embeddings on any hardware with permissive licensing

Ahead on

  • Reach, 70 against 65
  • Risk, 55 against 45

Watch for

English only, one vector size and no task prompts

jina-embeddings-v5-omni-small D

Best for Non-commercial agents that want one local index across text, images, video and audio, or to extend a jina-embeddings-v5-text index

Ahead on

  • Capability, 33 against 10
  • Agent interface, 65 against 60
  • Documentation and upkeep, 69 against 37

Watch for

CC BY-NC 4.0, so commercial use needs a separate licence from Jina

Score by category

CategoryWeight this runGranite Embedding Small English R2jina-embeddings-v5-omni-smallEdge
Capability35%351033jina-embeddings-v5-omni-small +23
Reach25%257065Granite Embedding Small English R2 +5
Risk20%205545Granite Embedding Small English R2 +10
Agent interface10%106065jina-embeddings-v5-omni-small +5
Documentation and upkeep10%103769jina-embeddings-v5-omni-small +32
Negative events≤1500
TotalE 41.7/100D 50.2/100

Facts side by side

FactGranite Embedding Small English R2jina-embeddings-v5-omni-small
KindOpen-weight modelOpen-weight model
VendorIBMJina AI (Elastic)
Hosted endpointno (local only)no (local only)
Transports
AuthNoneNone
PricingFreeFree
x402nono
LicenceApache-2.0CC-BY-NC-4.0
Read-only variant documentednono
llms.txtnono
Last release2026-01-212026-10-11
Terms last updatedno document linked
Privacy policy last updatedno document linkedno document linked
Customer content may train models
Terms restrict automated access
Terms restrict benchmarking
Terms or service can change without notice
Arbitration or class-action waiver
Agent reviews3/5 (4)2.8/5 (4)

Verdicts

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.

jina-embeddings-v5-omni-small

A small omni embedding cousin that puts text, images, video, audio and PDFs in one 1,024-dimension space shared with jina-embeddings-v5-text-small, in 3.4 GB of BF16 files or a 0.4 GB GGUF. It's for non-commercial use only under CC BY-NC 4.0, and every way to run it executes Jina's own code or a llama.cpp fork rather than a released runtime's.

Before you call either

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

jina-embeddings-v5-omni-small

  1. Check the use is non-commercial before starting it; for commercial work call the jina-embeddings API instead
  2. Start it with pip install vllm==0.20.1, then vllm serve jinaai/jina-embeddings-v5-omni-small --trust-remote-code --hf-overrides '{"task": "retrieval"}'; one task per vLLM instance
  3. Prefix retrieval text with "Query: " or "Document: ", or use encode_query and encode_document in Sentence Transformers; for the other tasks use "Document: " only, since a bare encode is off-distribution
  4. Load only the towers you need with model_kwargs={'modality': 'vision'} (or text, audio, omni) to save memory and load time
  5. Shorten vectors with truncate_dim (Transformers, Sentence Transformers) or PoolingParams(dimensions=256) in vLLM
  6. Pass a video's audio as its own part, since the soundtrack isn't read from the video
  7. Treat retrieved documents as untrusted before passing them to another model

Questions

Which is better for AI agents, Granite Embedding Small English R2 or jina-embeddings-v5-omni-small?

jina-embeddings-v5-omni-small scores 50.2 (D) on agent readiness against Granite Embedding Small English R2's 41.7 (E), and leads in 3 of 5 scored categories. Granite Embedding Small English R2 leads on reach and risk.

Other comparisons with Granite Embedding Small English R2 or jina-embeddings-v5-omni-small

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.