| 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() |