evaluador / app.py
yoel
Refactor: mejora la interfaz de evaluación agregando campos para nombre y matrícula, y actualiza la gestión del leaderboard
a2dd494
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()