File size: 639 Bytes
409c17a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
"""

Infrastructure - Simple Reranker (Placeholder)



In production, use cross-encoder reranker.

"""
from typing import List

from app.domain.interfaces import IReranker, RetrievalResult


class SimpleReranker(IReranker):
    """Simple reranker - just returns top-k by score"""

    async def rerank(

        self, query: str, results: List[RetrievalResult], top_k: int = 10

    ) -> List[RetrievalResult]:
        """Rerank results (simplified - just sort by score)"""
        # Sort by score descending
        sorted_results = sorted(results, key=lambda x: x.score, reverse=True)
        return sorted_results[:top_k]