MnemoSense / embedder.py
Vineetha00's picture
Update embedder.py
74d1e21 verified
raw
history blame contribute delete
708 Bytes
import os
import numpy as np
from sentence_transformers import SentenceTransformer
_model = None
def _get_model():
global _model
if _model is None:
name = os.getenv("EMBED_MODEL_NAME", "sentence-transformers/all-MiniLM-L6-v2")
_model = SentenceTransformer(name)
return _model
def embed_texts(texts):
"""Return L2-normalized embeddings as (N, D) float32 array."""
if not texts:
return np.zeros((0, 0), dtype="float32")
model = _get_model()
embs = model.encode(texts, show_progress_bar=False, convert_to_numpy=True)
embs = embs.astype("float32")
norms = np.linalg.norm(embs, axis=1, keepdims=True) + 1e-8
embs = embs / norms
return embs