import gradio as gr from utils import cargar_etiquetas from dataset import cargar_dataset from evaluation import evaluate_interface # Cargar etiquetas etiquetas, num_clases, codigo = cargar_etiquetas() # Cargar dataset test_dataloader = cargar_dataset(codigo) def interface_wrapper(nombre, matricula, model_file): return evaluate_interface(nombre, matricula, model_file, num_clases, test_dataloader) # Interfaz de Gradio demo = gr.Interface( fn=interface_wrapper, inputs=[ gr.Textbox(label="Nombre completo"), gr.Textbox(label="Matrícula"), gr.File(label="Archivo del modelo (.safetensor)"), ], outputs=[ gr.Textbox(label="Precisión"), gr.Textbox(label="SHA256 del modelo"), gr.Textbox(label="Calificación"), gr.Dataframe( headers=[ "Nombre", "Matrícula", "Accuracy", "Puntaje", "SHA256", "Duplicado", "Fecha (UTC)", ], datatype=["str", "str", "str", "number", "str", "str", "str"], row_count=(0, "dynamic"), label="Leaderboard", ), ], title="Evaluador de modelos", description="Ingresa tus datos, carga un .safetensor y revisa tu lugar en el leaderboard.", ) if __name__ == "__main__": demo.launch()