Enterprise Generative Search — Azure and Open Source  ·  View 12 of 41  ·  Structure

Retrieval Fabric

Four backends behind one contract, and what that contract obliges each of them to accept and return.

Editable source SVG draw.io All views
The contract every backend honours Inputs it must accept Principal group set mandatory, never optional Classification ceiling per request Freshness and as-of declared, not implied Outputs it must return Evidence id chunk plus version Score and its scale comparable after fusion Retrieval reason why this was returned Candidate generation Lexical BM25 over Azure AI Search field-boosted Analyzer and synonym map curated per domain Exact identifier match part and policy numbers Semantic Dense HNSW BGE-M3, 1024-d Learned sparse terms same model, lexical bridge Multimodal vectors figures and frames Structured Semantic SQL views allowlisted only NL to SQL guard parse, bound, explain Row to evidence adapter figures become citable Graph Entity and relation store Apache AGE on PostgreSQL Supersession edges replaces and replaced-by Hop expansion 2 hops, capped fan-out Retrieval cache Redis, ACL-fingerprinted Per-source ranking policy authority and recency weights Retrieval trace every backend call recorded Retrieval Fabric — Four Backends, One Contract Adding a fifth backend means implementing the contract, not changing the planner. That is the whole reason the facade exists. v 1.0 · owner Data and AI Global Practice

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.