File size: 701 Bytes
7f8bfb2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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