|
from abc import ABC, abstractmethod |
|
from typing import Optional |
|
|
|
from core.rag.models.document import Document |
|
|
|
|
|
class 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 |
|
|