File size: 563 Bytes
dd58f3d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
"""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()