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() | |