from sentence_transformers import SentenceTransformer from typing import List class EmbeddingGenerator: def __init__(self, model_name: str): self.model = SentenceTransformer(model_name) self.dimension = self.model.get_sentence_embedding_dimension() def generate(self, texts: List[str]) -> List[List[float]]: """Generate embeddings for a list of texts""" embeddings = self.model.encode(texts, convert_to_numpy=True) return embeddings.tolist() def generate_single(self, text: str) -> List[float]: """Generate embedding for a single text""" embedding = self.model.encode([text], convert_to_numpy=True) return embedding[0].tolist()