File size: 717 Bytes
8f6bb93
 
 
 
 
 
 
2b63102
8f6bb93
 
 
 
 
 
 
2b63102
 
8f6bb93
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
from langchain_huggingface import HuggingFaceEmbeddings

_MODEL_NAME = "all-MiniLM-L6-v2"
_embeddings = None


def get_embeddings() -> HuggingFaceEmbeddings:
    """Shared embeddings instance, loaded once and reused by RAG and the evaluator."""
    global _embeddings
    if _embeddings is None:
        _embeddings = HuggingFaceEmbeddings(model_name=_MODEL_NAME)
    return _embeddings


def get_sentence_transformer():
    """The raw SentenceTransformer behind the shared embeddings (used by the evaluator)."""
    model = getattr(get_embeddings(), "client", None)
    if model is None:
        from sentence_transformers import SentenceTransformer
        model = SentenceTransformer(_MODEL_NAME)
    return model