v0.1.0 — exposure audit for vector search / RAG
First public release.
What it does: shows what share of your vector corpus queries actually reach and what share is never retrieved (dark matter — the antihub inventory of your index); measures exposure concentration (Gini), hub capture; regression-diffs embedder/chunking migrations; gates them in CI.
Highlights
- Metrics: coverage %, coverage of reachable ceiling, dark matter %, Gini, hub capture, Lorenz curve
qrelslost gold: cross-check dark matter against relevance judgments — which relevant chunks are never surfaceddiff/gate: per-chunk migration deltas (newly-dark / rescued), CI gate with strict mode and validated thresholdssynth: antihub self-query audit when you have no query logs- Dashboard: self-contained HTML (Lorenz, histogram, PCA corpus map)
- Adapters: InMemory, FAISS, pgvector, Qdrant
- Case study: BEIR NQ 260k chunks — coverage 11.7% of corpus = 88.3% of the workload-reachable ceiling, 905 relevant chunks lost in dark matter
Why dark matter is structural, not a bug: hubness in high-dimensional NN search (Radovanović et al., JMLR 2010) — see README.
Install: pip install retrieval-fairness (once PyPI publish completes).