Spaces:
Runtime error
Runtime error
| import pandas as pd | |
| from sentence_transformers import SentenceTransformer, util | |
| # Cargar modelo multilingüe | |
| try: | |
| model = SentenceTransformer("paraphrase-multilingual-MiniLM-L12-v2") | |
| except Exception as e: | |
| print(f"⚠️ Error cargando modelo SBERT: {e}") | |
| model = None | |
| # Cargar CSV y preparar marcas | |
| try: | |
| df = pd.read_csv("IGS - Consolidado.csv") | |
| marca_textos = df["NombreProducto"].astype(str).str.lower().tolist() | |
| if model: | |
| marca_embeddings = model.encode(marca_textos, convert_to_tensor=True) | |
| else: | |
| marca_embeddings = None | |
| except Exception as e: | |
| print(f"⚠️ Error cargando CSV en SBERT: {e}") | |
| marca_textos = [] | |
| marca_embeddings = None | |
| def buscar_marcas_similares(input_marca, top_n=5): | |
| input_marca = input_marca.lower() | |
| input_embedding = model.encode(input_marca, convert_to_tensor=True) | |
| similitudes = util.pytorch_cos_sim(input_embedding, marca_embeddings)[0] | |
| top_resultados = sorted( | |
| zip(marca_textos, similitudes), | |
| key=lambda x: x[1], | |
| reverse=True | |
| )[:top_n] | |
| #print(f"📋 Resultados SBERT para '{input_marca}':") | |
| #for marca, score in top_resultados: | |
| # print(f" - {marca}: {float(score):.2f}%") | |
| return [(marca, float(score) * 100) for marca, score in top_resultados] | |