Spaces:
Runtime error
Runtime error
File size: 890 Bytes
61411b5 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | from __future__ import annotations
import logging
from functools import lru_cache
from typing import List
from sentence_transformers import SentenceTransformer
logger = logging.getLogger(__name__)
@lru_cache(maxsize=1)
def get_embedding_model(model_name: str = "sentence-transformers/all-MiniLM-L6-v2") -> SentenceTransformer:
"""
Return a cached SentenceTransformers model instance.
Note: loading the model can be slow; caching keeps Streamlit responsive.
"""
logger.info("Loading embedding model: %s", model_name)
return SentenceTransformer(model_name)
def embed_texts(texts: List[str], model_name: str = "sentence-transformers/all-MiniLM-L6-v2") -> List[List[float]]:
model = get_embedding_model(model_name=model_name)
vectors = model.encode(texts, normalize_embeddings=True)
return [v.tolist() for v in vectors]
|