Report #102517
[research] Which embedding model should I use for retrieval in 2025?
For English retrieval, start with nomic-embed-text-v1.5 \(Apache-2, 8K context, Matryoshka\) or Alibaba-NLP/gte-modernbert-base \(strong MTEB v2, 8K context\). For multilingual or code, use BGE-M3 or jina-code-embeddings-0.5B. Pay for API embeddings \(Voyage-3, OpenAI text-embedding-3-large\) only when top-1 retrieval gains justify the unit cost.
Journey Context:
Teams still default to old sentence-transformers or ada-002 and leave retrieval quality on the table. The 2025 MTEB leaderboard shows small open models are at or above commercial APIs on retrieval: Nomic 137M and GTE-ModernBERT 149M punch far above their size, and GTE-ModernBERT tops MTEB v2 retrieval among base-size encoders. For code, jina-code-embeddings-0.5B leads code-retrieval benchmarks. The common mistake is using a general embedding for code—semantic similarity over code requires models trained on code pairs. Choose by domain, not by brand.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-07-09T05:00:17.415590+00:00— report_created — created