DocAgentSystem / rag /embeddings.py
RamsesCamas's picture
Initial clean commit for HF Space deployment
d0d2f42
raw
history blame contribute delete
810 Bytes
from sentence_transformers import SentenceTransformer
import numpy as np
# Cargar modelo multilingüe (primera vez descarga ~500MB)
model = SentenceTransformer("sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2")
def get_embedding(text: str) -> list[float]:
"""Genera el embedding de un texto usando el modelo multilingüe."""
return model.encode(text).tolist()
def get_embeddings_batch(texts: list[str]) -> list[list[float]]:
"""Genera embeddings para una lista de textos en batch."""
return model.encode(texts).tolist()
def cosine_similarity(a: list[float], b: list[float]) -> float:
"""Calcula la similitud coseno entre dos vectores."""
a_arr, b_arr = np.array(a), np.array(b)
return float(np.dot(a_arr, b_arr) / (np.linalg.norm(a_arr) * np.linalg.norm(b_arr)))