Run BGE-M3 Locally: 5-Minute Multilingual Search Setup
In short: BGE-M3 is a multilingual text-embedding model from BAAI that maps text in 100-plus languages into dense, sparse, and multi-vector search representations, and it runs entirely on your own machine so that queries and documents never leave the host.
BGE-M3 is a multilingual text-embedding model from BAAI that maps text in 100-plus languages into dense, sparse, and multi-vector search representations, and it runs entirely on your own machine so that queries and documents never leave the host. That single property is what makes it the default starting point for privacy-first local search: data residency and log policy stop being promises in a vendor contract and become facts you can inspect on your own disk.
What did Hax measure on its own stack?#
Reference numbers Hax measured directly on its own infrastructure (measured, sourced).
| Dataset item | Measured value | Date | Source |
|---|---|---|---|
| first_response_latency_ms | 120.8 ms | 2026-07-04 | bench_harness.probe_unified_latency |
| 저장된 메모리 수 | 10929 개 | 2026-07-24 | bench_harness.probe_curator (curator stats 실측) |
| 활성 메모리 수 | 10585 개 | 2026-07-24 | bench_harness.probe_curator (curator stats 실측) |
- 표본
- 3 measured metrics (Hax /data curated)
- 수집일
- 2026-07-04 ~ 2026-07-24
- 방법
- bench_harness.probe_unified_latency; bench_harness.probe_curator (curator stats 실측)
How can you reproduce these numbers?#
Follow the source column above and our open dataset at /data.
| Dimension | Local BGE-M3 (self-hosted) | Cloud embedding API |
|---|---|---|
| Data residency | Stays on host (측정 measured: Hax local store) | Uploaded to vendor (추정 estimated) |
| Query/text logs | None leave the machine (추정 estimated) | Retained per vendor policy (추정 estimated) |
| Languages | 100+ in one model (추정 estimated) | Varies by endpoint (추정 estimated) |
| Active local memories | 10585 (측정 measured, 2026-07-24) | not applicable |
active local memories 10585
The measured figure above is a concrete demonstration that a local retrieval store can hold real scale on one host: as of 2026-07-24 our curator probe reports 10929 stored and 10585 active memories at an average confidence of 0.612 (all 측정 measured). None of that content crossed a network boundary to be indexed.
5-minute quickstart#
- Install the reference library:
pip install -U FlagEmbedding. - Load the model once:
from FlagEmbedding import BGEM3FlagModel; model = BGEM3FlagModel('BAAI/bge-m3', use_fp16=True). - Encode your corpus and query:
model.encode(texts, return_dense=True, return_sparse=True). BGE-M3 accepts inputs up to 8192 tokens, so long Korean or mixed-language passages fit without aggressive chunking. - Rank by cosine similarity on the dense vectors, then optionally fuse the sparse (lexical) scores to catch exact Korean terms and rare tokens.
- Persist vectors in a local index (for example FAISS) on the same host. Nothing here calls an external API.
Judge it by data residency and log policy#
When you evaluate a search stack, ask two questions before benchmarking recall. First, where does the text physically go — does the query string leave the machine at any point? With a self-hosted BGE-M3 pipeline the answer is no by construction. Second, what is logged and for how long? On a local install you control the log level of your own server and can set it to retain nothing. A cloud embedding endpoint answers both questions with its own policy, which you cannot verify from outside; treat any residency or retention claim there as 추정 estimated until the vendor documents it.
For Korean query quality specifically, the sparse component matters: pure dense retrieval can miss exact compound nouns and proper names, so fusing dense and sparse scores is the practical fix for beginner setups.
Note: measured values come from the Hax curator probe on 2026-07-24 and reflect our own memory store, not a BGE-M3 recall benchmark; model behavior can change with new BGE-M3 releases. See Hax data for the raw curator stats.
Related reading: BGE-M3 다국어 검색 초보 5분 설치 퀵스타트와 실패 지점, 개인정보 안 보내는 Nomic Embed 로컬 RAG, 무엇으로 판단하나
Full guide: 노트북에서 돌리는 AI 모델, 흔한 함정과 해결법
Responses
No responses yet. Be the first to respond.