BGE Models
BGE (BAAI General Embedding) is a family of open-weight, MIT-licensed embedding models from the Beijing Academy of Artificial Intelligence (BAAI). When first released it topped the MTEB benchmark, and its flagship — BGE-M3 — has since become a workhorse for production RAG. It packs multilingual support, long inputs, and multiple retrieval modes into a single model, making it a favourite for self-hosted semantic search.
💡 In one line: BGE is BAAI's open-weight embedding family — and its flagship BGE-M3 does multilingual, long-document, hybrid retrieval all in one model.
What Are BGE Models?
They're open-weight embedding models (part of BAAI's FlagEmbedding toolkit), released under a permissive MIT licence. That means you can download, self-host, fine-tune, and use them commercially — with no per-token cost. They're known for strong retrieval quality across benchmarks.
The BGE Family
| Model | Dims | Note |
|---|---|---|
| bge-small / base-en-v1.5 | 384 / 768 | Lightweight English retrieval |
| bge-large-en-v1.5 | 1024 | ~335M params — top-tier English retrieval |
| bge-m3 | 1024 | ~568M params — the multilingual flagship (below) |
| bge-reranker | — | Cross-encoder rerankers (a companion, not an embedder) |
BGE-M3: the "Three M's"
The flagship's name stands for its three capabilities — all in one model:
- Multi-linguality — 100+ languages, with cross-lingual retrieval.
- Multi-granularity — inputs from short sentences to 8192-token documents.
- Multi-functionality — dense + sparse (lexical) + multi-vector (ColBERT) retrieval together.
The big deal: hybrid search (dense and sparse) from a single model — no separate keyword index to maintain.
BGE-reranker (the Companion)
A common production pattern pairs a BGE embedder with a BGE reranker — a cross-encoder that re-scores the top results for higher precision.
Query Instructions
Earlier BGE versions recommended prefixing queries with a short instruction (e.g. "Represent this sentence for searching relevant passages:"). The v1.5 models reduced this need — always check the specific model card for guidance.
Code Example
Strengths & Trade-offs
Strengths
- Open / MIT — self-host, fine-tune, no per-token cost.
- Multilingual and long-context (8192 tokens).
- Hybrid retrieval (dense + sparse) from one model.
- Strong, proven performance for production RAG.
Trade-offs
- Needs moderate GPU infrastructure to run well.
- Not the absolute MTEB top — some larger models (e.g. NV-Embed, Qwen-Embedding) score higher — but BGE-M3 wins on versatility + licence.
When to Use It
- Self-hosted production RAG, especially multilingual or hybrid search.
- Pair with BGE-reranker for extra precision.
- Use bge-large-en-v1.5 for English-only; bge-m3 for multilingual, long, or hybrid needs.
A Note on Currency
BGE-M3 remains a 2026 production workhorse. Higher-scoring models exist on the leaderboard, but BGE-M3's blend of versatility, licence, and multilingual reach keeps it a default. Check BAAI for newer BGE releases.
Summary
- BGE is BAAI's open-weight (MIT) embedding family, strong on MTEB.
- Variants range from small/base/large-en-v1.5 (English) to the flagship bge-m3.
- BGE-M3 = multi-linguality, multi-granularity, and multi-functionality (dense + sparse + multi-vector) in one model.
- Pair it with BGE-reranker for a common retrieve-then-rerank RAG pattern.
- It's a top choice for self-hosted, multilingual, hybrid RAG — the open workhorse. EOF echo created