|
"""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() |
|
|