Spaces:
Sleeping
Sleeping
File size: 910 Bytes
905e3b7 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | from sentence_transformers import SentenceTransformer
from app.config import settings
import numpy as np
from typing import List
class EmbeddingManager:
"""Manage local embeddings (no API cost)"""
def __init__(self):
self.model = SentenceTransformer(settings.EMBEDDING_MODEL)
self.dimension = self.model.get_sentence_embedding_dimension()
print(f"✅ Loaded embedding model: {settings.EMBEDDING_MODEL} (dim: {self.dimension})")
def embed_texts(self, texts: List[str]) -> List[List[float]]:
"""Generate embeddings for list of texts"""
embeddings = self.model.encode(texts, convert_to_numpy=True)
return embeddings.tolist()
def embed_query(self, query: str) -> List[float]:
"""Generate embedding for a single query"""
embedding = self.model.encode([query], convert_to_numpy=True)
return embedding[0].tolist() |