| 123456789101112131415161718192021222324252627 | from abc import ABC, abstractmethodfrom typing import Optionalfrom core.rag.models.document import Documentclass BaseRerankRunner(ABC):    @abstractmethod    def run(        self,        query: str,        documents: list[Document],        score_threshold: Optional[float] = None,        top_n: Optional[int] = None,        user: Optional[str] = None,    ) -> list[Document]:        """        Run rerank model        :param query: search query        :param documents: documents for reranking        :param score_threshold: score threshold        :param top_n: top n        :param user: unique user id if needed        :return:        """        raise NotImplementedError
 |