vibe.review.retrieval.reranker

Cross-encoder reranking for document parts.

Takes top-k candidates from hybrid search and re-scores using the full requirement context paired with each document part.

RankedPart

A document part after reranking.

PartReranker

Cross-encoder reranker for document parts.

Takes candidates from hybrid search and re-scores using cross-encoder that directly compares query-document pairs.

Usage

reranker = PartReranker() ranked = reranker.rerank(requirement, search_results, top_n=10)

__init__

__init__(rerank_provider: RerankProvider | None = None) -> None

Initialize the reranker.

Parameters:
  • rerank_provider (RerankProvider | None, default: None ) –

    Provider for reranking. If None, auto-selects.

rerank

rerank(requirement: Requirement, candidates: list[DocumentSearchResult], top_n: int = 10) -> list[RankedPart]

Rerank search candidates using cross-encoder.

Parameters:
  • requirement (Requirement) –

    The requirement to evaluate against.

  • candidates (list[DocumentSearchResult]) –

    Search results to rerank.

  • top_n (int, default: 10 ) –

    Number of top results to return.

Returns:
  • list[RankedPart]

    List of RankedPart sorted by rerank score (best first).

rerank_by_query

rerank_by_query(query: str, candidates: list[DocumentSearchResult], top_n: int = 10) -> list[RankedPart]

Rerank search candidates using a query string directly.

This is a query-based alternative to rerank() that accepts any text query instead of a Requirement object.

Parameters:
  • query (str) –

    Query text to evaluate candidates against.

  • candidates (list[DocumentSearchResult]) –

    Search results to rerank.

  • top_n (int, default: 10 ) –

    Number of top results to return.

Returns:
  • list[RankedPart]

    List of RankedPart sorted by rerank score (best first).