rerank_base.py 698 B

123456789101112131415161718192021222324252627
  1. from abc import ABC, abstractmethod
  2. from typing import Optional
  3. from core.rag.models.document import Document
  4. class BaseRerankRunner(ABC):
  5. @abstractmethod
  6. def run(
  7. self,
  8. query: str,
  9. documents: list[Document],
  10. score_threshold: Optional[float] = None,
  11. top_n: Optional[int] = None,
  12. user: Optional[str] = None,
  13. ) -> list[Document]:
  14. """
  15. Run rerank model
  16. :param query: search query
  17. :param documents: documents for reranking
  18. :param score_threshold: score threshold
  19. :param top_n: top n
  20. :param user: unique user id if needed
  21. :return:
  22. """
  23. raise NotImplementedError