BGE-M3
BGE-M3 is a multilingual embedding model from the FlagEmbedding library that supports dense, sparse, and multi-vector (ColBERT) retrieval. It handles inputs up to 8192 tokens across 100+ languages, making it suitable for retrieval-augmented generation and semantic search applications.
✨ Key features
- Multilingual support for 100+ languages
- Handles long documents up to 8192 tokens
- Unifies dense, sparse, and multi-vector retrieval
- State-of-the-art performance on multilingual benchmarks
- Available via FlagEmbedding Python package
- Supports fine-tuning for custom tasks
🎯 Use cases
- Build multilingual semantic search engines
- Enhance RAG pipelines with hybrid retrieval
- Perform cross-lingual document retrieval
- Retrieve relevant passages from long documents
📦 Installation
🧰 Requirements: Python environment with pip; model accessed via Hugging Face (no API key required).
pip install -U FlagEmbedding
For fine-tuning support:
pip install -U FlagEmbedding[finetune]
Alternatively, install from source:
git clone https://github.com/FlagOpen/FlagEmbedding.git
cd FlagEmbedding
pip install .
# For fine-tuning: pip install .[finetune]
🚀 Usage
from FlagEmbedding import FlagAutoModel
model = FlagAutoModel.from_finetuned('BAAI/bge-m3', use_fp16=True)
sentences_1 = ["I love NLP", "I love machine learning"]
sentences_2 = ["I love BGE", "I love text retrieval"]
embeddings_1 = model.encode(sentences_1)
embeddings_2 = model.encode(sentences_2)
similarity = embeddings_1 @ embeddings_2.T
print(similarity)
❓ FAQ
What does M3 stand for in BGE-M3?
M3 stands for Multi-linguality (100+ languages), Multi-granularities (input length up to 8192), and Multi-Functionality (unification of dense, lexical, and multi-vector retrieval).
Can I fine-tune BGE-M3?
Yes, you can install FlagEmbedding with the finetune extra (e.g., pip install FlagEmbedding[finetune]) and use the provided fine-tuning examples.
What retrieval methods does BGE-M3 support?
It supports dense retrieval, sparse (lexical) retrieval, and multi-vector (ColBERT) retrieval, making it versatile for different search scenarios.
Is BGE-M3 available for commercial use?
The README does not specify the license for BGE-M3, but other models like BGE-VL are MIT licensed. Check the model's Hugging Face page for license details.
📊 Repository
🤖 Overview, features, install steps and FAQ were generated from the project's README on Sep 4, 2026. Always check the original source before running commands.