Enterprise Generative Search — Azure and Open Source · View 12 of 41 · Structure
Decisions
- Every backend must accept a principal group set, a classification ceiling and a freshness bound, and must return an evidence id, a score with a declared scale, and a reason. A backend that cannot do all six does not join the fabric.
- Adding a fifth backend is an implementation of the contract, not a change to the planner. That is the entire reason the facade exists and the reason the planner has no backend-specific code.
- Learned sparse retrieval comes from the same BGE-M3 model as the dense vectors, so the lexical bridge does not need a second model to operate or evaluate.
Why hybrid rather than vector-only
- On the golden set, dense-only retrieval reached Recall@50 of 0.71 and failed almost entirely on part numbers, policy identifiers and product codes — exactly the queries the lookup class is made of.
- Hybrid with reciprocal rank fusion reached 0.92. The lexical arm is therefore not a configuration option; it is load-bearing.
Risks
- Graph retrieval is the least mature arm. It is capped at two hops with a bounded fan-out, and its contribution to answer quality is measured separately so it can be removed if it does not pay for itself.
- Four backends mean four failure modes on the query path. The degradation ladder in view 29 defines what the platform still returns when each one is gone.