Class HFCrossEncoderReranker

java.lang.Object
com.redis.vl.utils.rerank.BaseReranker
com.redis.vl.utils.rerank.HFCrossEncoderReranker

public class HFCrossEncoderReranker extends BaseReranker
HuggingFace Cross-Encoder reranker using real ONNX models.

This reranker downloads and runs actual cross-encoder models from HuggingFace. Cross-encoders jointly encode query and document pairs to produce relevance scores, providing more accurate ranking than bi-encoders (though slower).

Supported models: Any HuggingFace cross-encoder with ONNX export, such as:

  • cross-encoder/ms-marco-MiniLM-L-6-v2 (default)
  • cross-encoder/ms-marco-MiniLM-L-12-v2
  • cross-encoder/stsb-distilroberta-base

Example usage:


 HFCrossEncoderReranker reranker = HFCrossEncoderReranker.builder()
     .model("cross-encoder/ms-marco-MiniLM-L-6-v2")
     .limit(5)
     .returnScore(true)
     .build();

 List<String> docs = Arrays.asList("doc1", "doc2", "doc3");
 RerankResult result = reranker.rank("query", docs);
 
  • Constructor Details

    • HFCrossEncoderReranker

      public HFCrossEncoderReranker()
      Default constructor with default model and settings.
  • Method Details

    • builder

      public static HFCrossEncoderReranker.Builder builder()
      Create a new builder for HFCrossEncoderReranker.
      Returns:
      A new builder instance
    • rank

      public RerankResult rank(String query, List<?> docs)
      Description copied from class: BaseReranker
      Rerank documents based on their relevance to the query.
      Specified by:
      rank in class BaseReranker
      Parameters:
      query - The search query
      docs - The documents to rerank (either List<String> or List<Map<String, Object>>)
      Returns:
      RerankResult containing reranked documents and optional scores
    • close

      public void close()
      Close the reranker and clean up resources.