File size: 805 Bytes
42bf28c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
"""

"""

from llama_index.core.postprocessor import SentenceTransformerRerank

# --- Global Singleton for Reranker Model ---
_reranker_model = None

def get_reranker():
    """
    Initializes and returns the SentenceTransformerRerank model (singleton pattern).
    This model will download on first use.
    """
    
    global _reranker_model
    
    if _reranker_model is None:
        
        print("Initializing Cross-Encoder Reranker model...")
        
        # A popular, lightweight, and effective cross-encoder
        _reranker_model = SentenceTransformerRerank(
            model="cross-encoder/ms-marco-MiniLM-L-6-v2", 
            top_n=3  # The number of documents to return after reranking
        )
        print("βœ“ Reranker model initialized.")
        
    return _reranker_model