Spaces:
Runtime error
Runtime error
| from __future__ import annotations | |
| import logging | |
| from functools import lru_cache | |
| from typing import List | |
| from sentence_transformers import SentenceTransformer | |
| logger = logging.getLogger(__name__) | |
| 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] | |