zvec_db.rerankers.cross_encoder.openai_decoder
OpenAI-compatible API reranker using /chat/completions with logprobs.
Classes
|
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]
- property api_key
- property base_url
- property concurrency
- property max_batch_size
- property model
- property num_classes
- property timeout