mirror of
https://github.com/catlog22/Claude-Code-Workflow.git
synced 2026-02-09 02:24:11 +08:00
47 lines
1.1 KiB
Python
47 lines
1.1 KiB
Python
"""Base class for rerankers.
|
|
|
|
Defines the interface that all rerankers must implement.
|
|
"""
|
|
|
|
from __future__ import annotations
|
|
|
|
from abc import ABC, abstractmethod
|
|
from typing import Sequence
|
|
|
|
|
|
class BaseReranker(ABC):
|
|
"""Base class for all rerankers.
|
|
|
|
All reranker implementations must inherit from this class and implement
|
|
the abstract methods to ensure a consistent interface.
|
|
"""
|
|
|
|
@property
|
|
def max_input_tokens(self) -> int:
|
|
"""Return maximum token limit for reranking.
|
|
|
|
Returns:
|
|
int: Maximum number of tokens that can be processed at once.
|
|
Default is 8192 if not overridden by implementation.
|
|
"""
|
|
return 8192
|
|
|
|
@abstractmethod
|
|
def score_pairs(
|
|
self,
|
|
pairs: Sequence[tuple[str, str]],
|
|
*,
|
|
batch_size: int = 32,
|
|
) -> list[float]:
|
|
"""Score (query, doc) pairs.
|
|
|
|
Args:
|
|
pairs: Sequence of (query, doc) string pairs to score.
|
|
batch_size: Batch size for scoring.
|
|
|
|
Returns:
|
|
List of scores (one per pair).
|
|
"""
|
|
...
|
|
|