Spaces:
Runtime error
Runtime error
| import gradio as gr | |
| import pandas as pd | |
| from SBERT_Multilingue import buscar_marcas_similares as modelo_sbert | |
| from BETO import buscar_marcas_similares as modelo_beto | |
| def buscar_marcas(marca_input, umbral=80.0): | |
| resultados = [] | |
| for modelo_func, nombre_modelo in [ | |
| (modelo_beto, "BETO"), | |
| (modelo_sbert, "SBERT") | |
| ]: | |
| try: | |
| salida = modelo_func(marca_input) | |
| for marca, similitud in salida: | |
| if similitud >= umbral: | |
| resultados.append({ | |
| "Marca": marca.strip().lower(), | |
| "Similitud (%)": round(similitud, 2), | |
| "Modelo": nombre_modelo | |
| }) | |
| except Exception as e: | |
| print(f"Error en {nombre_modelo}: {e}") | |
| if not resultados: | |
| return [] | |
| df = pd.DataFrame(resultados) | |
| df = df.sort_values("Similitud (%)", ascending=False) | |
| df = df.drop_duplicates(subset="Marca", keep="first") | |
| df["Marca"] = df["Marca"].str.title() | |
| df = df.reset_index(drop=True) | |
| df.index += 1 | |
| df.index.name = "Índice" | |
| return df.reset_index().to_dict(orient="records") | |
| with gr.Blocks() as app: | |
| texto = gr.Textbox(label="Marca a evaluar") | |
| umbral = gr.Slider(0, 100, value=80, label="Umbral mínimo de similitud (%)") | |
| salida = gr.JSON() | |
| boton = gr.Button("Buscar") | |
| boton.click(fn=buscar_marcas, inputs=[texto, umbral], outputs=salida) | |
| app.launch() | |