Skip to content

v0.5.0 — Phase 6: cross-encoder reranker

Choose a tag to compare

@cattolatte cattolatte released this 14 Jul 11:14

Precision at the top of the ranking, where the generator reads.

  • Consumes Polaris 1.4.0: SentencePairClassifier (num_classes=1), collate_pairs ([CLS] q [SEP] passage [SEP]), train_bpe special-token reservation, native tokenizer save/load.
  • Tokenizer now reserves // so one vocabulary serves the MLM, embedder, and pair models (resolves ADR-0003's deferral).
  • meridian.reranker: SentencePairClassifier config/artifact, pointwise pair-sample builders, and BCE train_reranker (init from the shared Stage-0 trunk).
  • RerankingRetriever: rerank a base retriever's top-N candidates with the cross-encoder; config-gated via 'meridian ask --rerank --reranker DIR' and evaluate.py --rerank (default off). Composes with bm25/dense/hybrid.

Verified end-to-end offline. nDCG@10 lift and rerank latency pending the real training run (adopt only if it improves — honesty gate).