fahmiaziz98
Refactor reranking models and configuration management; add YAML support for model settings
7f8bfb2
raw
history blame contribute delete
701 Bytes
from typing import List, Optional
class RerankerModel:
"""Base class for reranking models."""
def __init__(self, model_id: str, model_name: str, model_type: str):
self.model_id = model_id
self.model_name = model_name
self.model_type = model_type
self.model = None
self.tokenizer = None
self.loaded = False
def load(self):
"""Load the model. To be implemented by subclasses."""
raise NotImplementedError
def rerank(self, query: str, documents: List[str], instruction: Optional[str] = None) -> List[float]:
"""Rerank documents. To be implemented by subclasses."""
raise NotImplementedError