zvec_db.rerankers.cross_encoder.openai_decoder

OpenAI-compatible API reranker using /chat/completions with logprobs.

Classes

OpenAIDecoderReranker(query[, topn, ...])

Cross-encoder reranker using LLM logprobs with structured output.

class zvec_db.rerankers.cross_encoder.openai_decoder.OpenAIDecoderReranker(query, topn=10, base_url='http://localhost:8000/v1', api_key=None, model='gpt-4o-mini', num_classes=2, timeout=30.0, max_batch_size=None, rerank_field=None, fusion_score_weight=1.0, concurrency=4)[source]

Cross-encoder reranker using LLM logprobs with structured output.

Uses /chat/completions with logprobs and regex-constrained output. Computes expected value score from log probabilities: E[score] = sum(prob_i * i) / (num_classes - 1)

Parameters:
  • query (str) – Query for reranking. Required.

  • topn (int) – Number of top documents to return. Defaults to 10.

  • base_url (str) – API base URL. Defaults to “http://localhost:8000/v1”.

  • api_key (Optional[str]) – API key. Defaults to None.

  • model (str) – Model identifier. Defaults to “gpt-4o-mini”.

  • num_classes (int) – Number of classes. Defaults to 2.

  • timeout (float) – HTTP timeout in seconds. Defaults to 30.0.

  • max_batch_size (Optional[int]) – Max documents per batch. Default None.

  • rerank_field (Optional[str]) – Document field for scoring.

  • fusion_score_weight (float) – Cross-encoder vs fusion weight. Default 1.0.

  • concurrency (int) – Concurrent API calls. Defaults to 4.

Example

>>> from zvec_db.rerankers.cross_encoder import OpenAIDecoderReranker
>>> reranker = OpenAIDecoderReranker(
...     query="machine learning",
...     num_classes=2,
...     model="gpt-4o-mini",
... )
>>> results = reranker.rerank({"bm25": docs})

Note: Requires model with logprobs support (–enable-logprobs for vLLM).

MAX_CLASSES = 10
__init__(query, topn=10, base_url='http://localhost:8000/v1', api_key=None, model='gpt-4o-mini', num_classes=2, timeout=30.0, max_batch_size=None, rerank_field=None, fusion_score_weight=1.0, concurrency=4)[source]
Parameters:
  • query (str)

  • topn (int)

  • base_url (str)

  • api_key (str | None)

  • model (str)

  • num_classes (int)

  • timeout (float)

  • max_batch_size (int | None)

  • rerank_field (str | None)

  • fusion_score_weight (float)

  • concurrency (int)

property api_key
property base_url
property concurrency
property max_batch_size
property model
property num_classes
property timeout