haiku.rag/haiku_rag_slim/haiku/rag/client
Yiorgis Gozadinos 82fe91bb76
Order cross-database fusion by retrieval score
Rank interleaving guarantees every database slots regardless of content;
on domain-split collections it allocates no better than chance and costs
4.7pp recall@5 at four collections against score ordering (7.1pp at
eight). Hybrid scores are each database's own vector/FTS rank agreement,
which carries across databases; equal scores resolve by within-database
rank, and only a tie on both falls to configured order, leaving
permutation sensitivity at 0.02-0.26pp. Fused results carry the
candidate's own retrieval score, so the context-expansion re-sort
preserves fused order.
2026-09-01 15:26:41 +03:00
..
__init__.py Finish the comment pass, and escape document fields everywhere Rich renders 2026-08-28 15:34:47 +03:00
agents.py Name the databases before the model runs 2026-08-27 17:07:41 +03:00
documents.py Name the database a write wrote to 2026-08-28 08:47:36 +03:00
downloads.py Delete comments that restate the line below them 2026-08-20 15:22:33 +03:00
exceptions.py typed UnsupportedSourceError replaces pipeline string-marker matching 2026-05-26 11:44:46 +03:00
processing.py Resolve file:// URIs to paths through url2pathname 2026-08-21 10:22:26 +03:00
rebuild.py Repair an FTS index that covers no rows on write 2026-08-31 18:54:48 +03:00
scope.py Finish the comment pass, and escape document fields everywhere Rich renders 2026-08-28 15:34:47 +03:00
search.py Order cross-database fusion by retrieval score 2026-09-01 15:26:41 +03:00
session.py Finish the comment pass, and escape document fields everywhere Rich renders 2026-08-28 15:34:47 +03:00
titles.py Extract title generation into client/titles.py 2026-04-24 14:42:53 +03:00