# File : app/embeddings/embedder.py # Purpose : Sentence transformer embedding model singleton from sentence_transformers import SentenceTransformer from app.config import get_settings from functools import lru_cache settings = get_settings() @lru_cache() def get_embedder() -> SentenceTransformer: print(f"[EMBEDDER] Loading model: {settings.embedding_model}") model = SentenceTransformer(settings.embedding_model) print("[EMBEDDER] Model loaded successfully") return model def embed_query(query: str) -> list: model = get_embedder() return model.encode(query, normalize_embeddings=True).tolist()