| |
| import gradio as gr |
| from functions import ( |
| cargar_modalidades_tareas, |
| validar_modalidades_tareas, |
| generar_grafica_barras, |
| buscar_datasets, |
| generar_dataset, |
| generar_encabezado_inteligente |
| ) |
|
|
| |
| MODALIDAD_TAREAS = cargar_modalidades_tareas() |
| validar_modalidades_tareas(MODALIDAD_TAREAS) |
|
|
| |
| with gr.Blocks() as demo: |
| gr.Markdown("# Diseñador de Modelos de Redes Neuronales y Generador de Datasets Multimodales") |
| |
| |
| with gr.Row(): |
| gr.Markdown("### Selecciona Tareas") |
| todas_las_tareas = [tarea for tareas in MODALIDAD_TAREAS.values() for tarea in tareas] |
| tareas_seleccionadas = gr.CheckboxGroup(choices=todas_las_tareas, label="Tareas Disponibles", interactive=True) |
| |
| |
| with gr.Row(): |
| gr.Markdown("### Distribución de Tareas Seleccionadas por Modalidad") |
| grafica_barras = gr.Plot(label="Gráfica de Barras") |
| btn_actualizar_grafica = gr.Button("Actualizar Gráfica") |
| btn_actualizar_grafica.click( |
| fn=lambda tareas: generar_grafica_barras(tareas, MODALIDAD_TAREAS), |
| inputs=tareas_seleccionadas, |
| outputs=grafica_barras |
| ) |
| |
| |
| with gr.Row(): |
| gr.Markdown("### Generar Encabezado del CSV con IA") |
| api_key_input = gr.Textbox( |
| label="API Key de HuggingFace", |
| type="password", |
| placeholder="TU_API_KEY", |
| info="Obtén tu API Key desde https://huggingface.co/settings/tokens" |
| ) |
| btn_generar_encabezado = gr.Button("Generar Encabezado") |
| encabezado_generado = gr.Textbox(label="Encabezado Generado", interactive=False) |
| btn_generar_encabezado.click( |
| fn=generar_encabezado_inteligente, |
| inputs=[tareas_seleccionadas, api_key_input], |
| outputs=encabezado_generado |
| ) |
|
|
| |
| with gr.Row(): |
| with gr.Column(): |
| filtro_tamaño = gr.Dropdown(choices=["small", "medium", "large"], label="Filtrar por Tamaño") |
| filtro_licencia = gr.Dropdown(choices=["mit", "apache-2.0", "cc-by-4.0"], label="Filtrar por Licencia") |
| btn_buscar_datasets = gr.Button("Buscar Datasets Compatibles") |
| datasets_encontrados = gr.Textbox(label="Datasets Encontrados", interactive=False) |
| btn_buscar_datasets.click( |
| buscar_datasets, |
| inputs=[tareas_seleccionadas, filtro_tamaño, filtro_licencia], |
| outputs=datasets_encontrados |
| ) |
|
|
| |
| with gr.Row(): |
| pagina_actual = gr.Number(value=1, label="Página Actual") |
| 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 del CSV", interactive=False) |
| btn_descargar_csv = gr.File(label="Descargar CSV") |
| btn_generar_dataset.click( |
| generar_dataset, |
| inputs=[encabezado_generado, datasets_encontrados, pagina_actual, filas_por_pagina], |
| outputs=vista_previa_csv |
| ) |
|
|
| |
| demo.launch() |