File size: 573 Bytes
ef5f450 c8b552c ef5f450 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | import os
from sentence_transformers import SentenceTransformer
EMBED_MODEL = os.getenv("EMBED_MODEL", "sentence-transformers/all-MiniLM-L6-v2")
_model = None
def get_embedder() -> SentenceTransformer:
global _model
if _model is None:
_model = SentenceTransformer(EMBED_MODEL)
return _model
def embed_texts(texts: list[str]) -> list[list[float]]:
"""Return a list of embedding vectors for the given texts."""
model = get_embedder()
embeddings = model.encode(texts, show_progress_bar=True, batch_size=32)
return embeddings.tolist() |