You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
PR #1 (@ashvin-a) proposed an opt-in OpenAI embedding backend plus a MongoDB->v2 index converter. We're not merging it for the public release:
Embeddings are on the retrieval hot path, so a cloud embedder needs a key + network on every query and breaks v2's local / keyless / offline design.
DENSE_FLOOR and the RRF weights are calibrated for bge-small's score scale; the PR swaps the embedder without recalibrating, so an OpenAI-embedded index would misfire the abstention/refuse logic.
The Mongo corpus is superseded by v2's fresher, structurally-chunked local index.
The reference implementation (the OpenAIEmbedder dispatch) is preserved in PR #1 for whoever picks this up.
The real open question
Is bge-small-en-v1.5 (384-dim) strong enough, or is retrieval recall the ceiling on answer quality? With a frontier generation model, retrieval is the bottleneck, so this is worth measuring rather than assuming.
Task (local-first, data-driven; defer until after the public release)
Build an index with a stronger local model (e.g. BAAI/bge-large-en-v1.5 ~1024-dim, or intfloat/e5-large-v2) via fastembed.
Benchmark recall@k / MRR / abstention on src/eval/gold.jsonl vs bge-small.
Recalibrate DENSE_FLOOR (and revisit RRF_K, PYCHRONO_BOOST) for the new score scale.
Report the quality delta and the cost (index size, query latency); decide whether to switch the default local embedder.
Stretch (only if the local benchmark shows embeddings genuinely cap quality): add a cloud (OpenAI) embedder behind the same interface as an explicit opt-in, with its own calibration.
Context
PR #1 (@ashvin-a) proposed an opt-in OpenAI embedding backend plus a MongoDB->v2 index converter. We're not merging it for the public release:
DENSE_FLOORand the RRF weights are calibrated forbge-small's score scale; the PR swaps the embedder without recalibrating, so an OpenAI-embedded index would misfire the abstention/refuse logic.The reference implementation (the
OpenAIEmbedderdispatch) is preserved in PR #1 for whoever picks this up.The real open question
Is
bge-small-en-v1.5(384-dim) strong enough, or is retrieval recall the ceiling on answer quality? With a frontier generation model, retrieval is the bottleneck, so this is worth measuring rather than assuming.Task (local-first, data-driven; defer until after the public release)
BAAI/bge-large-en-v1.5~1024-dim, orintfloat/e5-large-v2) via fastembed.src/eval/gold.jsonlvsbge-small.DENSE_FLOOR(and revisitRRF_K,PYCHRONO_BOOST) for the new score scale.Stretch (only if the local benchmark shows embeddings genuinely cap quality): add a cloud (OpenAI) embedder behind the same interface as an explicit opt-in, with its own calibration.
cc @ashvin-a