Source code for autorag.nodes.passagereranker.pass_reranker

from typing import List

import pandas as pd

from autorag.nodes.passagereranker.base import BasePassageReranker
from autorag.utils import result_to_dataframe


[docs] class PassReranker(BasePassageReranker):
[docs] @result_to_dataframe(["retrieved_contents", "retrieved_ids", "retrieve_scores"]) def pure(self, previous_result: pd.DataFrame, *args, **kwargs): top_k = kwargs.pop("top_k") _, contents_list, scores_list, ids_list = self.cast_to_run(previous_result) return self._pure(contents_list, scores_list, ids_list, top_k)
def _pure( self, contents_list: List[List[str]], scores_list: List[List[float]], ids_list: List[List[str]], top_k: int, ): """ Do not perform reranking. Return the given top-k passages as is. """ contents_list = list(map(lambda x: x[:top_k], contents_list)) scores_list = list(map(lambda x: x[:top_k], scores_list)) ids_list = list(map(lambda x: x[:top_k], ids_list)) return contents_list, ids_list, scores_list