"""SentenceTransformer wrapper.""" from typing import List from sentence_transformers import SentenceTransformer from .config import EMBEDDING_MODEL, DEVICE _model: SentenceTransformer | None = None def _model_instance() -> SentenceTransformer: global _model if _model is None: _model = SentenceTransformer(EMBEDDING_MODEL, device=DEVICE) return _model def embed_texts(texts: List[str]) -> List[List[float]]: return _model_instance().encode( texts, show_progress_bar=False, convert_to_numpy=False ).tolist()