Seminal AI
§6

Embedding and reranking models

Embedding models turn text (and increasingly images, audio and video) into dense vectors so that semantic similarity becomes a distance computation; rerankers are cross-encoders that take a query plus a candidate list and re-score them jointly, trading throughput for precision. Nearly every RAG or semantic-search stack uses both: a cheap embedding model to retrieve 50-200 candidates from a vector index, then a reranker to cut that to the 5-10 chunks that go in the prompt.

Data checked 2026-09-06

The market split in 2026 into three tiers — hosted frontier models (Voyage 4, Cohere Embed 4, Gemini Embedding 2) charging $0.06-$0.20 per million tokens, cheap commodity APIs (OpenAI text-embedding-3-small at $0.02), and permissively licensed open weights (Qwen3, BGE, EmbeddingGemma, Arctic Embed) that run on your own GPU for the cost of electricity. Two structural changes matter this year: Matryoshka representation learning is now table stakes, so vector-DB storage cost is a dial rather than a fixed property of the model, and contextualized-chunk models (voyage-context-4) attack chunking strategy itself. Benchmarks have also fragmented — MTEB is saturated and partly contaminated, so vendors increasingly publish on RTEB, BEIR subsets or in-house suites, which makes cross-vendor score comparison nearly meaningless.

A How to choose

Start by separating the two decisions: the embedding model is a migration-heavy commitment (changing it means re-embedding and re-indexing your entire corpus), while the reranker is a swap-in-a-config-line decision you can A/B this afternoon. Because of that asymmetry, the highest-leverage first move for a mediocre RAG system is almost always adding a reranker, not upgrading the embedder — a $2-per-1M-search-unit Cohere Rerank 4 or a self-hosted bge-reranker-v2-m3 in front of an unchanged text-embedding-3-small index usually beats swapping in a frontier embedder alone. The four axes that actually differentiate embedders are: (1) storage and query cost at your corpus size, which Matryoshka truncation plus int8/binary quantization can cut 4-32x — at 100M chunks this dominates the API bill, so a model with quantization-aware training like Voyage 4 or Arctic Embed 2.0 is worth more than a couple of nDCG points; (2) domain fit, where a code-, legal- or finance-tuned model (voyage-code-4) beats a generalist by a margin no leaderboard captures; (3) context length, where 8K-token models force chunking work that 32K-token models and contextualized-chunk models largely remove; and (4) data residency and license, which is often the real constraint.

Do not default to OpenAI text-embedding-3-large: it is a 2024 model at 6.5x the price of 3-small, it caps at 8,191 tokens, and it loses to open weights you can run for free — if you want cheap and boring, use 3-small; if you want quality, use Voyage or Gemini; 3-large is the option that is neither. Equally, do not reach for a hosted API at all if your corpus is under a few million chunks and you have any GPU: Qwen3-Embedding-0.6B or EmbeddingGemma-300M on a single card will serve you at zero marginal cost with no vendor risk, and the ZeroEntropy sunset on 4 September 2026 is a fresh reminder that a well-funded reranker startup can be acquired and switched off inside twelve months. Finally, ignore leaderboard deltas under about two points and build a 100-query golden set from your own traffic — every vendor in this chapter now publishes benchmarks chosen to make itself win, and the ranking on your data routinely disagrees with all of them.

B At a glance

Name DimensionsMax input tokensBenchmarkMultilingualPrice per 1M tokens Pricing
OpenAI text-embedding-3-small 1536 (truncatable to 512, 256)8191MTEB (2024 eng v1) ~62.3; no v2 score publishedPartial — trained multilingually but weak vs. dedicated models$0.02 $0.02 per 1M tokens; $0.01 per 1M via Batch API
OpenAI text-embedding-3-large 3072 (truncatable to 1024, 256)8191MTEB (2024 eng v1) ~64.6; MIRACL ~54.9Yes, but mid-tier vs. Gemini/Qwen3$0.13 $0.13 per 1M tokens; $0.065 per 1M via Batch API
Voyage voyage-4-large 1024 default; 256, 512, 2048 available32000RTEB nDCG@10: +14.05% vs OpenAI v3-large (vendor-reported); no MTEB entryYes, general-purpose multilingual retrieval$0.12 $0.12 per 1M tokens (voyage-4 $0.06, voyage-4-lite $0.02); first 200M tokens free
Voyage voyage-context-4 1024 default; 256, 512, 2048 available32000 per chunk window; longer documents handled transparently+1.40% doc-level / +2.08% chunk-level vs context-3 over 39 datasets (vendor)Yes$0.12 $0.12 per 1M tokens (down from $0.18 for context-3)
Voyage voyage-code-4 1024 default; 256, 512, 2048 available32000unknown — no public independent scoreProgramming languages; natural-language coverage secondary$0.12 $0.12 per 1M tokens
Voyage rerank-3 n/a — reranker returns relevance scores, not vectors32000 (query + any single document); up to 1000 documents per callVendor-reported highest accuracy in family; no public independent scoreYes (explicitly stated for the 2.5 generation)$0.05 ($0.02 lite) rerank-3 $0.05 per 1M tokens; rerank-3-lite $0.02; rerank-2.5 $0.05, rerank-2.5-lite $0.02
Cohere Embed 4 1536 default; 256, 512, 1024 available128000unknown — no public MTEB entry published by CohereYes, plus images and mixed text/image input$0.10 $0.10 per 1M input tokens; Model Vault dedicated from $4.00/hr ($2,500/mo) small, $5.00/hr ($3,250/mo) medium
Cohere Rerank 4 n/a — reranker returns relevance scores, not vectors32000 (v4 pro/fast); 4000 on rerank-v3.5unknown — no public independent leaderboard scoreYes, English and non-English in one modelBilled per search unit, not per token: $2.00 per 1M search units (1 unit = 1 query + up to 100 docs) $2.00 per 1M search units (rerank-3.5, rerank-4-fast and rerank-4-pro all $2.00); Model Vault dedicated $5.00/hr medium, $10.00/hr large for rerank-4-pro
Gemini Embedding 2 128-3072 flexible; 768, 1536, 3072 recommended8192 (gemini-embedding-001: 2048)v2 not published; gemini-embedding-001 scores 68.17 MTEB Multilingual at 1536D (63.31 at 128D)Yes, 100+ languages, plus image/video/audio/PDF$0.20 text (free tier available); $0.15 for gemini-embedding-001 Free tier: free for all modalities. Paid: $0.20/1M text tokens, $0.45/1M image ($0.00012/image), $6.50/1M audio, $12.00/1M video; ~50% off batched. gemini-embedding-001: $0.15/1M, $0.075 batched
EmbeddingGemma 300M 768 default; 512, 256, 128 via MRL2048MTEB English v2 69.67; MTEB Multilingual 61.15; MTEB Code 68.76 (mean task)Yes, 100+ languages$0 self-hosted $0 — open weights, self-hosted; inference cost is your own compute
Jina Embeddings v5 1024 (text-small, omni-small); 768 (text-nano, omni-nano)32768 (small variants); 8192 (nano variants)unknown — no verified public MTEB v2 score for v5 at time of writingYes (text-small multilingual via Qwen3; text-nano 15 languages); omni adds image/audio/video/PDF~$0.05 via token bundles (medium confidence); 10M free 10M free tokens per new key; paid bundles roughly $50 per 1B tokens (~$0.05/1M); jina-embeddings-v3 listed around $0.02/1M
Jina Reranker v3.5 n/a — reranker returns relevance scores, not vectorsLong candidate lists supported via hybrid 3L2G attention; exact per-call cap not publishedBeats Qwen3-Reranker-4B on BEIR (vendor-reported); 1.56x faster than v3Yes, multilingual and structured retrieval~$0.05 via shared Jina token bundles (medium confidence) Consumes the shared Jina token pool: 10M free tokens per key, then roughly $0.05 per 1M tokens
Nomic Embed Text v2 (MoE) 768 default, truncatable to 256 (v1.5: 64-768)512 typical for v2-moe; nomic-embed-text-v1.5 supports 8192State of the art among ~300M-param multilingual models at release; below current frontierYes, ~100 languages$0 self-hosted; hosted API price unknown $0 self-hosted (Apache 2.0). Nomic Atlas hosted API reported around $0.01/1M tokens with 1M free tokens — low confidence, not confirmed on an official rate card
BAAI BGE-M3 1024 dense; plus sparse lexical weights and multi-vector token embeddings8192Strong on MIRACL multilingual retrieval; no longer near the top of MTEB v2Yes, 100+ languages$0 self-hosted $0 — open weights, self-hosted; also resold by inference providers at roughly $0.01-0.02/1M tokens
BAAI bge-reranker-v2-m3 n/a — reranker returns relevance scores, not vectors8192 (inherited from BGE-M3 / XLM-RoBERTa extension)Recommended in BGE docs for efficiency; below current commercial rerankers on qualityYes, 100+ languages$0 self-hosted $0 — open weights, self-hosted; hosted by Pinecone, Baseten and others at provider-specific rates
Qwen3-Embedding Model-dependent (0.6B/4B/8B); full-width, no truncation support32768 (inherited from Qwen3 long-context backbone)Qwen3-Embedding-8B: 70.58 MTEB multilingual, #1 at release (June 2025); 0.6B ~64.34Yes, strong; VL variants add image, screenshot and video$0 self-hosted $0 — open weights, self-hosted; resold by inference providers (rates vary, typically $0.01-0.05/1M)
Qwen3-Reranker n/a — reranker returns relevance scores, not vectors32768 (Qwen3 backbone); practical limits set by your serving memoryQwen3-VL-Reranker-8B tops MMEB image/video/visual-document tracks; text 4B beaten by jina-reranker-v3.5 on BEIRYes; VL variants add image, screenshot and video$0 self-hosted $0 — open weights, self-hosted; resold by inference providers at varying rates
Mixedbread mxbai-rerank-v2 n/a for rerankers; mxbai-embed-large-v1 outputs 1024Not published in current docs (reference pages retired)Vendor-reported SOTA at release; no current independent leaderboard placementLimited — the line is English-centric (a German variant exists separately)$0 self-hosted; hosted billed per query ($3.50 per 1,000 search-with-rerank) Weights $0 (Apache 2.0). Hosted platform: search with rerank $3.50 per 1,000 queries additional; Toast 1 agent $0.30/1M input, $0.72/1M output; $5 one-time starter credits
Snowflake Arctic Embed 2.0 1024 (l-v2.0), truncatable via MRL; usable at 128 bytes/vector with quantization8192Vendor-reported wins on MTEB Retrieval, CLEF and MIRACL at release (Dec 2024)Yes, without sacrificing English retrieval$0 self-hosted $0 — open weights, self-hosted; available via Ollama and standard inference stacks
ZeroEntropy zerank-2 n/a for rerankers; companion zembed-1 embedder also Apache 2.0unknown — not documented on surviving pageszerank-1 reported up to +18% nDCG@10 over Cohere rerank-3.5 in Finance and STEM (vendor)Yes, multilingual and instruction-following$0 self-hosted (was $0.025 hosted, API sunset 4 Sept 2026) Hosted API was $0.025/1M tokens (zerank-1, zerank-1-small, zerank-2) and $0.050/1M for zembed-1; API sunset from 4 September 2026. Self-hosted weights: $0

C Entries

OpenAI text-embedding-3-small

A 1,536-dimension text embedding model with an 8,191-token limit, priced at $0.02 per million tokens ($0.01 via the Batch API). It supports the `dimensions` parameter for Matryoshka truncation down to 512 or 256 dims, which cuts vector-DB storage roughly 3-6x at a small quality cost. Compared to its own larger sibling it is 6.5x cheaper and only a few points behind on retrieval, which is why it remains the most common default in production RAG stacks despite being a 2024 model.

Dimensions1536 (truncatable to 512, 256)
Max input tokens8191
BenchmarkMTEB (2024 eng v1) ~62.3; no v2 score published
MultilingualPartial — trained multilingually but weak vs. dedicated models
Price per 1M tokens$0.02
MatryoshkaYes, via `dimensions` parameter

Watch out: The 8,191-token cap forces a chunking strategy that newer 32K-context models avoid, and it is weak on multilingual retrieval relative to Gemini Embedding 2 or Qwen3. It has not been updated since January 2024 and is now beaten on English retrieval by open weights you can self-host for free. Wrong choice for code retrieval, cross-lingual search, or anything where you need image or PDF embedding.

$0.02 per 1M tokens; $0.01 per 1M via Batch API

OpenAI text-embedding-3-large

OpenAI's largest embedding model, producing 3,072-dimension vectors with the same 8,191-token limit as the small variant, at $0.13 per million tokens ($0.065 batched). It supports Matryoshka truncation via the `dimensions` parameter, and 256-dim output from 3-large still outperforms full-size ada-002. In practice its main appeal is organisational rather than technical: it is the best embedder available inside an account you already have, with no new vendor contract.

Dimensions3072 (truncatable to 1024, 256)
Max input tokens8191
BenchmarkMTEB (2024 eng v1) ~64.6; MIRACL ~54.9
MultilingualYes, but mid-tier vs. Gemini/Qwen3
Price per 1M tokens$0.13
MatryoshkaYes, via `dimensions` parameter

Watch out: This is the weakest value proposition in the chapter: 6.5x the price of 3-small for a modest gain, while Voyage reports voyage-4-large beating it by roughly 14% nDCG@10 on RTEB at a lower $0.12 price with 4x the context. Still capped at 8,191 tokens, text-only, and not refreshed in over two years. 3,072-dim vectors are also expensive to store and slow to search at scale unless you truncate.

$0.13 per 1M tokens; $0.065 per 1M via Batch API

Voyage voyage-4-large

Released January 2026, voyage-4-large is a mixture-of-experts embedding model with a 32,000-token context window and Matryoshka output at 256, 512, 1024 (default) or 2048 dimensions, plus int8, uint8, binary and ubinary quantization. Voyage claims serving costs 40% below comparable dense models and reports +14.05% nDCG@10 over OpenAI text-embedding-3-large and +8.2% over Gemini Embedding 001 across 29 RTEB datasets. The whole voyage-4 family (large/4/lite/nano) shares one embedding space, so you can embed documents with the large model and queries with the cheap one — an asymmetric-retrieval trick no other vendor here offers.

Dimensions1024 default; 256, 512, 2048 available
Max input tokens32000
BenchmarkRTEB nDCG@10: +14.05% vs OpenAI v3-large (vendor-reported); no MTEB entry
MultilingualYes, general-purpose multilingual retrieval
Price per 1M tokens$0.12
MatryoshkaYes, plus float/int8/uint8/binary/ubinary quantization

Watch out: Voyage benchmarks on its own RTEB suite and does not appear on the public MTEB leaderboard, so the headline margins are vendor-reported and independently unverified. As a MongoDB-owned property since the $220M acquisition, roadmap priority visibly follows Atlas rather than standalone API users. No self-hosted option except the small nano model, and switching away means re-embedding everything.

$0.12 per 1M tokens (voyage-4 $0.06, voyage-4-lite $0.02); first 200M tokens free

Voyage voyage-context-4

A contextualized-chunk embedding model where each chunk vector encodes both the chunk's own text and the surrounding document context, so a chunk that says 'it grew 12% year over year' still retrieves correctly without the parent document name in it. It ships built-in auto-chunking, native overlapping-chunk support, and transparent handling of documents longer than its 32K window, which together remove most of the chunk-size/overlap tuning that normally consumes a RAG project's first two weeks. Voyage reports +1.40% document-level and +2.08% chunk-level gains over voyage-context-3 across 39 datasets, and cut the price from $0.18 to $0.12 per million tokens at the v4 launch.

Dimensions1024 default; 256, 512, 2048 available
Max input tokens32000 per chunk window; longer documents handled transparently
Benchmark+1.40% doc-level / +2.08% chunk-level vs context-3 over 39 datasets (vendor)
MultilingualYes
Price per 1M tokens$0.12
MatryoshkaYes, plus quantization options

Watch out: The API shape differs from a plain embedding call (you submit documents, not pre-made chunks), so it is not a drop-in swap for an existing pipeline and cannot be self-hosted or reproduced offline. You give up control over chunk boundaries, which is a problem when your chunks must align to legal clauses or page numbers for citation. The reported gains over context-3 are low single digits, so it only pays off against a genuinely chunking-sensitive corpus. Also a MongoDB-controlled proprietary model with all the lock-in that implies.

$0.12 per 1M tokens (down from $0.18 for context-3)

Voyage voyage-code-4

A code-specialised member of the voyage-4 family tuned for code retrieval and coding-agent use cases, with a 32,000-token context window, Matryoshka dimensions at 256/512/1024/2048 and the same float/int8/binary quantization options. The long context matters more here than in prose retrieval: 32K tokens holds an entire non-trivial source file, so you can embed whole files rather than fragments that split a function from its imports. Priced at $0.12 per million tokens, the same as voyage-4-large.

Dimensions1024 default; 256, 512, 2048 available
Max input tokens32000
Benchmarkunknown — no public independent score
MultilingualProgramming languages; natural-language coverage secondary
Price per 1M tokens$0.12
MatryoshkaYes, plus quantization options

Watch out: Domain specialisation cuts both ways — it underperforms a generalist on mixed corpora that combine code with design docs, changelogs and tickets, so a repo-plus-wiki index often needs two models or a compromise. There is no public independent benchmark for it; you are trusting vendor claims. And at $0.12/1M it costs 6x text-embedding-3-small for a gain you must measure on your own repo, which is real work.

$0.12 per 1M tokens

Voyage rerank-3

Voyage's current reranker generation, billed per token rather than per search unit at $0.05 per million ($0.02 for rerank-3-lite). It handles 32,000 tokens for query plus any single document and up to 1,000 candidate documents per call, and the 2.5 generation it supersedes added instruction-following so you can steer relevance with a natural-language directive rather than only a query. Token-based billing is a meaningful structural difference from Cohere: if you rerank many short candidates, per-token is far cheaper than per-search-unit; if you rerank long documents, it can be more expensive.

Dimensionsn/a — reranker returns relevance scores, not vectors
Max input tokens32000 (query + any single document); up to 1000 documents per call
BenchmarkVendor-reported highest accuracy in family; no public independent score
MultilingualYes (explicitly stated for the 2.5 generation)
Price per 1M tokens$0.05 ($0.02 lite)
Matryoshkan/a

Watch out: rerank-3 and rerank-3-lite are labelled in preview in Voyage's docs, so the stable choice for production today is still rerank-2.5 — check status before committing. Reranker latency scales with candidate count and document length, so 1,000 documents per call is a ceiling you rarely want to approach in an interactive path. As with all hosted rerankers, it puts a network hop on the critical path of every query and cannot be self-hosted.

rerank-3 $0.05 per 1M tokens; rerank-3-lite $0.02; rerank-2.5 $0.05, rerank-2.5-lite $0.02 · beta

Cohere Embed 4

embed-v4.0 takes text, images and mixed content including whole PDF pages, with a 128,000-token context window — by far the longest in this chapter — and Matryoshka output at 256, 512, 1024 or 1536 (default) dimensions. It is priced at $0.10 per million input tokens on the API, with dedicated single-tenant deployment through Model Vault from $4/hour ($2,500/month) for the small tier. The 128K window plus native PDF handling makes it the strongest fit when your source of truth is scanned or laid-out documents rather than clean text, since you skip the OCR-then-chunk pipeline entirely.

Dimensions1536 default; 256, 512, 1024 available
Max input tokens128000
Benchmarkunknown — no public MTEB entry published by Cohere
MultilingualYes, plus images and mixed text/image input
Price per 1M tokens$0.10
MatryoshkaYes

Watch out: Cohere does not publish MTEB or other independent leaderboard scores for embed-v4.0, so quality claims are hard to verify against Voyage or Gemini. The older v3 line is still listed as current but caps at 512 input tokens, which trips up teams who copy old sample code. The free tier is a trial only — there is no production free allowance like Voyage's 200M tokens or Gemini's free tier — and Model Vault pricing puts private deployment out of reach for small teams.

$0.10 per 1M input tokens; Model Vault dedicated from $4.00/hr ($2,500/mo) small, $5.00/hr ($3,250/mo) medium

Cohere Rerank 4

rerank-v4.0-pro and rerank-v4.0-fast are Cohere's current rerankers, both multilingual with a 32,000-token limit — an 8x jump over the 4K ceiling of rerank-v3.5. Pricing is $2.00 per million search units, where one search unit is a query with up to 100 documents and documents over 500 tokens are split into chunks that each count separately. Cohere Rerank is the most widely integrated reranker in the ecosystem — LangChain, LlamaIndex, Elastic, Pinecone and most vector DBs ship a first-class connector — which is often the deciding factor over a marginally better model with no integration.

Dimensionsn/a — reranker returns relevance scores, not vectors
Max input tokens32000 (v4 pro/fast); 4000 on rerank-v3.5
Benchmarkunknown — no public independent leaderboard score
MultilingualYes, English and non-English in one model
Price per 1M tokensBilled per search unit, not per token: $2.00 per 1M search units (1 unit = 1 query + up to 100 docs)
Matryoshkan/a

Watch out: The search-unit billing model is genuinely hard to forecast: a query over 200 documents averaging 900 tokens each does not cost one unit, it costs several, and teams routinely underestimate the bill by 3-5x. Both v4 variants cost the same $2.00, so 'fast' buys you latency, not savings. Per-search-unit pricing also compares badly to Voyage's per-token or a self-hosted bge-reranker when your candidates are short. And like Embed 4, there is no meaningful free production tier.

$2.00 per 1M search units (rerank-3.5, rerank-4-fast and rerank-4-pro all $2.00); Model Vault dedicated $5.00/hr medium, $10.00/hr large for rerank-4-pro

Gemini Embedding 2

gemini-embedding-2 is the first multimodal embedding model in the Gemini API, taking text, image, video, audio and PDF into a shared vector space so you can search video with a text query or find images by audio description. It supports flexible output dimensions from 128 to 3,072 (768, 1,536 and 3,072 recommended), an 8,192-token text limit, and 100+ languages. The free tier covers all input types at no charge, and the paid tier is $0.20 per million text tokens, $0.45 per million image tokens ($0.00012 per image), $6.50 per million audio tokens and $12.00 per million video tokens, with roughly 50% off via batch. Its predecessor gemini-embedding-001 remains available at $0.15/1M for text-only work and scores 68.17 on MTEB Multilingual at 1,536 dimensions.

Dimensions128-3072 flexible; 768, 1536, 3072 recommended
Max input tokens8192 (gemini-embedding-001: 2048)
Benchmarkv2 not published; gemini-embedding-001 scores 68.17 MTEB Multilingual at 1536D (63.31 at 128D)
MultilingualYes, 100+ languages, plus image/video/audio/PDF
Price per 1M tokens$0.20 text (free tier available); $0.15 for gemini-embedding-001
MatryoshkaYes, 128-3072 truncation

Watch out: At $0.20 per million text tokens it is the most expensive text embedder in this chapter, 10x text-embedding-3-small, and the audio and video rates ($6.50 and $12.00 per million tokens) will surprise anyone who indexes a media library without doing the arithmetic first. Google has not published MTEB scores for v2, only for the 001 predecessor. Text context is still 8,192 tokens, well behind Cohere's 128K and Voyage's 32K. Free-tier rate limits make it unusable for bulk backfill of a large corpus.

Free tier: free for all modalities. Paid: $0.20/1M text tokens, $0.45/1M image ($0.00012/image), $6.50/1M audio, $12.00/1M video; ~50% off batched. gemini-embedding-001: $0.15/1M, $0.075 batched

EmbeddingGemma 300M

A 300-million-parameter open-weights embedding model built from Gemma 3 with T5Gemma initialization, trained on 100+ languages. It outputs 768 dimensions with Matryoshka truncation to 512, 256 or 128, and quantizes small enough to run in under 200MB of RAM — which puts real semantic search on a phone or a laptop with no server. Google reports mean(task) scores of 69.67 on MTEB English v2, 61.15 on MTEB Multilingual and 68.76 on MTEB Code, making it the highest-ranked open multilingual embedder under 500M parameters. Marginal cost is zero once deployed.

Dimensions768 default; 512, 256, 128 via MRL
Max input tokens2048
BenchmarkMTEB English v2 69.67; MTEB Multilingual 61.15; MTEB Code 68.76 (mean task)
MultilingualYes, 100+ languages
Price per 1M tokens$0 self-hosted
MatryoshkaYes, 768→128

Watch out: The 2,048-token context window is the shortest here and forces aggressive chunking. At 300M parameters it is genuinely beaten on hard retrieval by Qwen3-Embedding-8B and by the frontier hosted models — it wins its size class, not the leaderboard. The Gemma licence carries use restrictions and is not OSI-approved, which some legal teams treat as disqualifying. And self-hosting means you own the batching, the autoscaling and the GPU bill, which for bursty low-volume workloads costs more than $0.02/1M would have.

$0 — open weights, self-hosted; inference cost is your own compute · open source

Jina Embeddings v5

The v5 family arrived in 2026 in four shapes: jina-embeddings-v5-text-small (677M params, 1024 dims, 32,768-token context, Qwen3 backbone), v5-text-nano (239M, 768 dims, 8,192 tokens, EuroBERT-210M backbone, 15 languages), and v5-omni-small (~1.74B) and v5-omni-nano (~1.04B), which embed text, image, audio, video and PDF in a shared space. Weights are downloadable under CC BY-NC 4.0, and the hosted API gives every new key 10 million free tokens shared across Embeddings, Reranker, Reader and Classifier endpoints, with paid bundles around $0.05 per million tokens thereafter. Jina is unusual in shipping a genuinely complete search stack — embed, rerank, read, classify — behind one key and one token pool.

Dimensions1024 (text-small, omni-small); 768 (text-nano, omni-nano)
Max input tokens32768 (small variants); 8192 (nano variants)
Benchmarkunknown — no verified public MTEB v2 score for v5 at time of writing
MultilingualYes (text-small multilingual via Qwen3; text-nano 15 languages); omni adds image/audio/video/PDF
Price per 1M tokens~$0.05 via token bundles (medium confidence); 10M free
MatryoshkaSupported in the Jina line, but per-variant dimension options not confirmed for v5

Watch out: CC BY-NC 4.0 is the catch: you can read the weights but cannot deploy them commercially without paying, so this is not an open-source alternative to BGE or Qwen3 despite the Hugging Face presence. Jina ships new model generations roughly every six months, which is good for quality and bad for anyone who has to re-embed a corpus to keep up. Pricing is published as token bundles rather than a clean per-model rate card, and different endpoints consume tokens at different multipliers — budget from measured usage, not from the headline number.

10M free tokens per new key; paid bundles roughly $50 per 1B tokens (~$0.05/1M); jina-embeddings-v3 listed around $0.02/1M

Jina Reranker v3.5

A 0.6-billion-parameter listwise reranker that scores an entire candidate list in one forward pass rather than one query-document pair at a time, using the 'last but not late interaction' architecture introduced in v3 plus a hybrid 3-local-2-global attention scheme that cuts attention cost on long candidate lists. Jina reports it beating Qwen3-Reranker-4B on BEIR — a roughly 6x smaller model winning — and reranking up to 1.56x faster than v3. Because it is listwise, candidates are compared against each other rather than scored in isolation, which tends to produce better top-5 ordering than pointwise cross-encoders at the same size.

Dimensionsn/a — reranker returns relevance scores, not vectors
Max input tokensLong candidate lists supported via hybrid 3L2G attention; exact per-call cap not published
BenchmarkBeats Qwen3-Reranker-4B on BEIR (vendor-reported); 1.56x faster than v3
MultilingualYes, multilingual and structured retrieval
Price per 1M tokens~$0.05 via shared Jina token bundles (medium confidence)
Matryoshkan/a

Watch out: Non-commercial weights again: the impressive size-to-quality ratio only helps you self-host if you pay for On-Prem, otherwise you are on the API like everyone else. Listwise reranking means the score for a document depends on which other documents were in the batch, so results are not stable across different candidate sets — that breaks caching and makes debugging relevance regressions harder than with a pointwise cross-encoder. Released August 2026, so production track record is thin.

Consumes the shared Jina token pool: 10M free tokens per key, then roughly $0.05 per 1M tokens

Nomic Embed Text v2 (MoE)

The first general-purpose mixture-of-experts text embedding model: 475M total parameters with 8 experts and top-2 routing, so only 305M are active per token, trained on over 1.6 billion pairs across roughly 100 languages. Dimensions are Matryoshka-truncatable from 768 down to 256 for about a 3x storage reduction. Nomic's real differentiator is reproducibility — training data, code and weights are all public, which is the only way to actually audit what a model saw, and it ships as a first-class citizen in Ollama, llama.cpp and GGUF form for genuinely local inference. The older nomic-embed-text-v1.5 (8,192-token context, 64-768 dims) remains the more common choice for English long-context work.

Dimensions768 default, truncatable to 256 (v1.5: 64-768)
Max input tokens512 typical for v2-moe; nomic-embed-text-v1.5 supports 8192
BenchmarkState of the art among ~300M-param multilingual models at release; below current frontier
MultilingualYes, ~100 languages
Price per 1M tokens$0 self-hosted; hosted API price unknown
MatryoshkaYes, 768→256

Watch out: Nomic has not published pricing for the Atlas Embedding API on any page we could verify — treat the ~$0.01/1M figure as third-party hearsay and get a quote before budgeting. Raw retrieval quality sits well below the frontier hosted models and below Qwen3-Embedding-8B; you choose this for auditability and local inference, not for topping a leaderboard. The v2 MoE model's shorter effective context and 768-dim ceiling make it a poor fit for long documents, and MoE routing complicates deployment on some inference runtimes. Company focus has visibly shifted toward the Atlas data-analytics platform rather than the embedding models.

$0 self-hosted (Apache 2.0). Nomic Atlas hosted API reported around $0.01/1M tokens with 1M free tokens — low confidence, not confirmed on an official rate card · open source

BAAI BGE-M3

BGE-M3 is 'M3' for multi-linguality (100+ languages), multi-granularity (up to 8,192 input tokens) and multi-functionality: a single forward pass emits a dense 1,024-dim vector, learned sparse lexical weights, and multi-vector ColBERT-style token embeddings. That last property is the reason it is still everywhere in 2026 — you get hybrid dense-plus-sparse retrieval from one model instead of running an embedder alongside BM25 and reconciling two scoring systems. Weights are free under a permissive licence and it runs anywhere sentence-transformers does.

Dimensions1024 dense; plus sparse lexical weights and multi-vector token embeddings
Max input tokens8192
BenchmarkStrong on MIRACL multilingual retrieval; no longer near the top of MTEB v2
MultilingualYes, 100+ languages
Price per 1M tokens$0 self-hosted
MatryoshkaNo

Watch out: Released January 2024 and not superseded by a v2 — BAAI's most recent notable release, bge-multilingual-gemma2, dates to July 2024, and the BGE line has effectively stalled while Qwen3 and Gemini moved ahead. It is now clearly behind on pure English retrieval quality. The multi-functional output is also an integration burden: most vector databases handle dense vectors happily, fewer handle learned sparse well, and very few handle ColBERT multi-vectors without significant storage blowup. Licence text is inconsistent across distributions, which matters if your legal review is strict.

$0 — open weights, self-hosted; also resold by inference providers at roughly $0.01-0.02/1M tokens · open source

BAAI bge-reranker-v2-m3

A cross-encoder reranker built on BGE-M3, inheriting its 8,192-token limit and 100+ language coverage, released under a permissive licence with no API cost. It is the reference self-hosted reranker: small enough to run on a single mid-range GPU or even CPU for low query volumes, and integrated into essentially every RAG framework and vector database as a local option. For most teams the honest comparison is not 'is it better than Cohere Rerank 4' but 'is Cohere's quality gain worth $2 per million search units', and at moderate volume the answer is often no.

Dimensionsn/a — reranker returns relevance scores, not vectors
Max input tokens8192 (inherited from BGE-M3 / XLM-RoBERTa extension)
BenchmarkRecommended in BGE docs for efficiency; below current commercial rerankers on quality
MultilingualYes, 100+ languages
Price per 1M tokens$0 self-hosted
Matryoshkan/a

Watch out: It is a pointwise cross-encoder, so latency scales linearly with candidate count — reranking 100 candidates is 100 forward passes, and you will feel it above about 50 candidates on modest hardware. Quality trails current commercial rerankers and the newer listwise open models (Qwen3-Reranker, jina-reranker-v3.5) on hard multilingual and reasoning-heavy queries. The model dates to 2024 with no v3 successor, and BAAI's release cadence has slowed sharply. You also own the serving infrastructure, including the GPU that sits idle between traffic peaks.

$0 — open weights, self-hosted; hosted by Pinecone, Baseten and others at provider-specific rates · open source

Qwen3-Embedding

A three-size family (0.6B, 4B, 8B) of Apache 2.0 embedding models built on the Qwen3 foundation, inheriting its multilingual coverage, long-context handling and instruction-following — you can prepend a task instruction to steer the embedding, which most encoder-only models cannot do. The 8B model took the #1 spot on the MTEB multilingual leaderboard at 70.58 on release, and the 0.6B remains the standard cheap baseline for local experiments at around 64.3. A vision-language extension, Qwen3-VL-Embedding, arrived in January 2026 in 2B and 8B sizes and tops the MMEB image, video and visual-document tracks. Apache 2.0 with no use restrictions is the key differentiator against Jina, Gemma and Nomic.

DimensionsModel-dependent (0.6B/4B/8B); full-width, no truncation support
Max input tokens32768 (inherited from Qwen3 long-context backbone)
BenchmarkQwen3-Embedding-8B: 70.58 MTEB multilingual, #1 at release (June 2025); 0.6B ~64.34
MultilingualYes, strong; VL variants add image, screenshot and video
Price per 1M tokens$0 self-hosted
MatryoshkaNo

Watch out: The 8B model needs roughly 16GB+ of GPU memory at reasonable precision and is genuinely slow to index a large corpus — the leaderboard-topping variant is not the one most people can afford to run, and the 0.6B that fits comfortably scores about 6 points lower. Its MTEB #1 dates to June 2025 and has since been passed by models like KaLM-Embedding-Gemma3-12B. No Matryoshka support means you store full-width vectors, which erases some of the cost advantage over a hosted model with truncation. And there is no first-party hosted API — you self-host or you trust a third-party inference provider.

$0 — open weights, self-hosted; resold by inference providers (rates vary, typically $0.01-0.05/1M) · open source

Qwen3-Reranker

The reranking half of the Qwen3 retrieval stack, shipped in 0.6B, 4B and 8B sizes under Apache 2.0, designed to pair with Qwen3-Embedding so the retrieval and ranking stages share a foundation model's understanding of the query. The January 2026 Qwen3-VL-Reranker (2B and 8B) extends this to multimodal candidates — reranking screenshots, PDF pages and video clips against a text query — which is currently the only fully open, commercially usable option for that job. Zero licence cost and no use restrictions make it the default when a self-hosted reranker must be commercially deployable.

Dimensionsn/a — reranker returns relevance scores, not vectors
Max input tokens32768 (Qwen3 backbone); practical limits set by your serving memory
BenchmarkQwen3-VL-Reranker-8B tops MMEB image/video/visual-document tracks; text 4B beaten by jina-reranker-v3.5 on BEIR
MultilingualYes; VL variants add image, screenshot and video
Price per 1M tokens$0 self-hosted
Matryoshkan/a

Watch out: Cross-encoder latency is the recurring problem: even the 0.6B model is meaningfully slower per query than a hosted API call at low volume once you account for cold GPU and batching inefficiency, and the 4B/8B variants are impractical in an interactive path without serious serving work. Jina reports its 0.6B listwise reranker beating Qwen3-Reranker-4B on BEIR, so raw size here does not buy proportional quality. There is no first-party hosted endpoint, and documentation for the reranking API surface is thinner than for the embedding models.

$0 — open weights, self-hosted; resold by inference providers at varying rates · open source

Mixedbread mxbai-rerank-v2

mxbai-rerank-base-v2 (0.5B) and mxbai-rerank-large-v2 (1.5B) are Apache 2.0 reranking models trained with reinforcement learning rather than pure contrastive supervision, with the base model positioned for speed-accuracy balance and large for maximum accuracy. Mixedbread's earlier mxbai-embed-large-v1 passed 5.5 million Hugging Face downloads and is still a common Apache-2.0 English embedder. The company itself has repositioned around a managed search product ('Stores') and a Toast 1 agent model — search with rerank is billed at $3.50 additional per 1,000 queries on top of a $0.30/$0.72 per-million-token LLM rate, with $5 one-time starter credits.

Dimensionsn/a for rerankers; mxbai-embed-large-v1 outputs 1024
Max input tokensNot published in current docs (reference pages retired)
BenchmarkVendor-reported SOTA at release; no current independent leaderboard placement
MultilingualLimited — the line is English-centric (a German variant exists separately)
Price per 1M tokens$0 self-hosted; hosted billed per query ($3.50 per 1,000 search-with-rerank)
Matryoshkan/a for rerankers

Watch out: Read the vendor signals carefully: Mixedbread's own docs state the model reference pages 'are no longer part of the current documentation' and steer new integrations toward Stores instead, which means the standalone model line is being de-emphasised even though the weights remain Apache 2.0 and usable forever. There is no mxbai-embed-large-v2, so the embedding side is stuck on a 2024 model. Per-model API pricing is no longer published on the pricing page, only platform-level search pricing, making cost comparison against Cohere or Voyage awkward. Treat this as good open weights from a company whose commercial attention is elsewhere.

Weights $0 (Apache 2.0). Hosted platform: search with rerank $3.50 per 1,000 queries additional; Toast 1 agent $0.30/1M input, $0.72/1M output; $5 one-time starter credits · open source

Snowflake Arctic Embed 2.0

snowflake-arctic-embed-l-v2.0 (303M non-embedding parameters) and its medium sibling are Apache 2.0 multilingual embedders whose distinguishing feature is quantization-aware training combined with Matryoshka truncation: Snowflake demonstrates usable retrieval quality at 128 bytes per vector, roughly a 32x storage reduction against an uncompressed 1024-dim float32 embedding. At a hundred million chunks that difference is the entire vector-database bill. Snowflake reports it beating leading open and proprietary models on MTEB Retrieval, CLEF and MIRACL while keeping English performance intact — unusual, since most multilingual models trade English quality away.

Dimensions1024 (l-v2.0), truncatable via MRL; usable at 128 bytes/vector with quantization
Max input tokens8192
BenchmarkVendor-reported wins on MTEB Retrieval, CLEF and MIRACL at release (Dec 2024)
MultilingualYes, without sacrificing English retrieval
Price per 1M tokens$0 self-hosted
MatryoshkaYes, plus quantization-aware training

Watch out: Released December 2024 with no v3 since, so it is now a generation behind Qwen3 and the frontier hosted models on raw retrieval quality — you choose it for the storage economics, not the leaderboard. The aggressive quantization story requires a vector database that actually supports binary or int8 vectors well, and several popular ones still do not. Snowflake maintains it as an adjunct to its data platform rather than as a standalone product, so expect slow release cadence and thin support outside the Snowflake ecosystem.

$0 — open weights, self-hosted; available via Ollama and standard inference stacks · open source

ZeroEntropy zerank-2

zerank-2 is a multilingual, instruction-following reranker that Notion AI ran in production for its unified search, replacing models from larger competitors and cutting rerank-step latency by 85% while holding quality — the strongest real-world endorsement any reranker in this chapter has. Notion announced the acquisition of ZeroEntropy on 24 July 2026, released all ZeroEntropy models as open source under Apache 2.0, and stated that all ZeroEntropy products remained fully supported until 4 September 2026, after which they are sunset. The hosted API was priced at $0.025 per million tokens, half of every other commercial reranker. Included here because the weights survive the company: zerank-1-small, zerank-1, zerank-2 and the zembed-1 embedder are all Apache 2.0 and self-hostable indefinitely.

Dimensionsn/a for rerankers; companion zembed-1 embedder also Apache 2.0
Max input tokensunknown — not documented on surviving pages
Benchmarkzerank-1 reported up to +18% nDCG@10 over Cohere rerank-3.5 in Finance and STEM (vendor)
MultilingualYes, multilingual and instruction-following
Price per 1M tokens$0 self-hosted (was $0.025 hosted, API sunset 4 Sept 2026)
Matryoshkan/a

Watch out: The hosted API is gone as of 4 September 2026 — do not build against docs.zeroentropy.dev, which at the time of writing still displayed live pricing for a service that has been sunset. No further training, bug fixes or model updates will come from the team, which is now inside Notion working on Notion's own models. You own serving entirely, including any security patching of the inference stack. This entry is a case study as much as a recommendation: a well-funded YC-backed reranker vendor went from launch to acquisition to shutdown in under two years, which is the reason to prefer open weights or a multi-vendor abstraction for the rerank step.

Hosted API was $0.025/1M tokens (zerank-1, zerank-1-small, zerank-2) and $0.050/1M for zembed-1; API sunset from 4 September 2026. Self-hosted weights: $0 · open source · discontinued