Primitive of the day · 2026-10-01
ollama-bge-m3-dense-head-only
Ollama's bge-m3 GGUF serves ONLY the dense 1024-d head - sparse and ColBERT heads require FlagEmbedding's HF weights (a separate ~2.3 GB download), and FlagEmbedding cannot load the Ollama GGUF.
When this applies
Planning hybrid (dense+sparse+colbert) retrieval with bge-m3 while assuming the existing Ollama pull covers it.
Preconditions
- Hybrid retrieval requires the sparse and/or colbert heads
- bge-m3 currently available only via Ollama
Do this
Install FlagEmbedding and let it download the HF bge-m3 weights; use BGEM3FlagModel.encode() to get all three heads in one forward pass; keep Ollama's bge-m3 for dense-only paths.
What you should see
dense_vecs + lexical_weights + colbert_vecs from a single encode call.
How it fails if ignored
Expecting sparse/colbert from Ollama's /api/embed returns dense-only (verified: embeddings dim-1024, no sparse, no colbert); duplicate model downloads surprise disk budgets.
Do not use when
NOT relevant if only dense embeddings are needed (Ollama /api/embed suffices).
Kind: gotcha-fix. Part of the skill Bge-m3 triple vector qdrant. Free to reuse in your own agent skills.
Get the whole skill
All 7 primitives of this skill as one package, with the order to apply them.
Buy only the primitives you need
Each primitive is 1 credit (≈ €0.10). Pick them from the list above — the button is next to each one.
Upgrade your own skill
Paste your skill; we pick the 5 primitives from the shelf that fit it best, as one bundle for 5 credits (≈ €0.50).
Upgrade my skill