File size: 3,418 Bytes
efdd1f5 a48c7f7 7ae6cdf a48c7f7 7ae6cdf 943d4f2 9cf1851 a48c7f7 1da3f58 f8461dd 9cf1851 f8461dd 943d4f2 d628526 1da3f58 9cf1851 a24e23b f8461dd 9cf1851 f8461dd 9cf1851 c4f2a33 f8461dd c4f2a33 a24e23b 9cf1851 f8461dd 9cf1851 f8461dd 9cf1851 2b833bb d628526 86b4f27 33f2548 7ae6cdf 86b4f27 33f2548 ad8c2c9 33f2548 943d4f2 33f2548 86b4f27 943d4f2 33f2548 943d4f2 a24e23b d628526 7c0815f 943d4f2 a24e23b 7c0815f ad8c2c9 943d4f2 7c0815f 943d4f2 ad8c2c9 d628526 943d4f2 1cd532e 1da3f58 943d4f2 1cd532e ad8c2c9 33f2548 1cd532e efdd1f5 cba4d16 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 |
import gradio as gr
from functions import (
cargar_modalidades_tareas,
generar_grafica_barras,
buscar_datasets,
generar_dataset,
generar_encabezado,
actualizar_modalidades_tareas_desde_huggingface
)
# Cargar modalidades inicialmente
MODALIDAD_TAREAS = cargar_modalidades_tareas()
tareas_iniciales = list(MODALIDAD_TAREAS.keys())
with gr.Blocks() as demo:
gr.Markdown("# Diseñador de Modelos de Redes Neuronales y Generador de Datasets Multimodales")
# Panel 1: Tareas Disponibles (declarado primero)
with gr.Row():
tareas_disponibles = gr.CheckboxGroup(
choices=tareas_iniciales,
label="Tareas Disponibles",
interactive=True
)
# Panel de Actualización
with gr.Row():
btn_actualizar_json = gr.Button("Actualizar Modalidades desde HuggingFace")
mensaje_actualizacion = gr.Textbox(label="Estado", interactive=False)
# Función para actualizar y refrescar
def actualizar_tareas_handler():
try:
nuevas_tareas = actualizar_modalidades_tareas_desde_huggingface()
return nuevas_tareas, "✅ Modalidades actualizadas: " + ", ".join(nuevas_tareas)
except Exception as e:
return tareas_iniciales, f"❌ Error: {str(e)}"
# Vincular evento
btn_actualizar_json.click(
fn=actualizar_tareas_handler,
inputs=[],
outputs=[tareas_disponibles, mensaje_actualizacion] # Actualizar opciones y mensaje
)
# Panel 2: Gráfica de Barras
with gr.Row():
grafica_barras = gr.Plot()
btn_actualizar_grafica = gr.Button("Actualizar Gráfica")
btn_actualizar_grafica.click(
fn=lambda tareas: generar_grafica_barras(tareas, MODALIDAD_TAREAS),
inputs=tareas_disponibles,
outputs=grafica_barras
)
# Panel 3: Generar Encabezado
with gr.Row():
btn_generar_encabezado = gr.Button("Generar Encabezado")
encabezado_generado = gr.Textbox(label="Encabezado Generado", interactive=False)
btn_generar_encabezado.click(
fn=generar_encabezado,
inputs=tareas_disponibles,
outputs=encabezado_generado
)
# Panel 4: Buscar Datasets
with gr.Row():
with gr.Column():
filtro_tamaño = gr.Dropdown(choices=["small", "medium", "large"], label="Tamaño")
filtro_licencia = gr.Dropdown(choices=["mit", "apache-2.0", "cc-by-4.0"], label="Licencia")
btn_buscar_datasets = gr.Button("Buscar Datasets Útiles")
datasets_encontrados = gr.CheckboxGroup(label="Datasets Compatibles")
btn_buscar_datasets.click(
fn=buscar_datasets,
inputs=[tareas_disponibles, filtro_tamaño, filtro_licencia],
outputs=datasets_encontrados
)
# Panel 5: Generar Dataset
with gr.Row():
pagina_actual = gr.Number(value=1, label="Página")
filas_por_pagina = gr.Number(value=5, label="Filas por Página")
btn_generar_dataset = gr.Button("Generar Dataset")
vista_previa_csv = gr.Textbox(label="Vista Previa", interactive=False)
btn_generar_dataset.click(
fn=generar_dataset,
inputs=[encabezado_generado, datasets_encontrados, pagina_actual, filas_por_pagina],
outputs=vista_previa_csv
)
demo.launch() |