SergioSCA commited on
Commit
943d4f2
·
verified ·
1 Parent(s): f5bf61e

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +34 -17
app.py CHANGED
@@ -5,19 +5,37 @@ from functions import (
5
  generar_grafica_barras,
6
  buscar_datasets,
7
  generar_dataset,
8
- generar_encabezado
 
9
  )
10
 
11
  MODALIDAD_TAREAS = cargar_modalidades_tareas()
12
 
 
 
 
 
 
 
 
 
13
  with gr.Blocks() as demo:
14
  gr.Markdown("# Diseñador de Modelos de Redes Neuronales y Generador de Datasets Multimodales")
15
-
 
 
 
 
 
 
 
 
 
 
16
  # Panel 1: Seleccionar Tareas
17
  with gr.Row():
18
- gr.Markdown("### Selecciona Tareas")
19
  tareas_disponibles = gr.CheckboxGroup(
20
- choices=[t for datos in MODALIDAD_TAREAS.values() for t in datos["tareas"].keys()], # Actualizado para incluir todas las tareas <button class="citation-flag" data-index="6">
21
  label="Tareas Disponibles",
22
  interactive=True
23
  )
@@ -34,34 +52,33 @@ with gr.Blocks() as demo:
34
 
35
  # Panel 3: Generar Encabezado
36
  with gr.Row():
37
- btn_generar_encabezado = gr.Button("Generar Encabezado del CSV")
38
  encabezado_generado = gr.Textbox(label="Encabezado Generado", interactive=False)
39
  btn_generar_encabezado.click(
40
  fn=generar_encabezado,
41
- inputs=tareas_disponibles, # Corregido: Usar el nombre correcto del componente <button class="citation-flag" data-index="6">
42
  outputs=encabezado_generado
43
  )
44
-
45
- # Panel 4: Buscar Datasets
46
  with gr.Row():
47
  with gr.Column():
48
- filtro_tamaño = gr.Dropdown(choices=["small", "medium", "large"], label="Filtrar por Tamaño")
49
- filtro_licencia = gr.Dropdown(choices=["mit", "apache-2.0", "cc-by-4.0"], label="Filtrar por Licencia")
50
- btn_buscar_datasets = gr.Button("Buscar Datasets Compatibles")
51
- datasets_encontrados = gr.Textbox(label="Datasets Encontrados", interactive=False)
52
  btn_buscar_datasets.click(
53
  fn=buscar_datasets,
54
- inputs=[tareas_disponibles, filtro_tamaño, filtro_licencia], # Corregido: 'tareas_disponibles' en lugar de 'tareas_seleccionadas' <button class="citation-flag" data-index="6">
55
  outputs=datasets_encontrados
56
  )
57
-
58
  # Panel 5: Generar Dataset
59
  with gr.Row():
60
- pagina_actual = gr.Number(value=1, label="Página Actual")
61
  filas_por_pagina = gr.Number(value=5, label="Filas por Página")
62
  btn_generar_dataset = gr.Button("Generar Dataset")
63
- vista_previa_csv = gr.Textbox(label="Vista Previa del CSV", interactive=False)
64
- btn_descargar_csv = gr.File(label="Descargar CSV")
65
  btn_generar_dataset.click(
66
  fn=generar_dataset,
67
  inputs=[encabezado_generado, datasets_encontrados, pagina_actual, filas_por_pagina],
 
5
  generar_grafica_barras,
6
  buscar_datasets,
7
  generar_dataset,
8
+ generar_encabezado,
9
+ actualizar_modalidades_tareas_desde_huggingface # Nueva función
10
  )
11
 
12
  MODALIDAD_TAREAS = cargar_modalidades_tareas()
13
 
14
+ # Cargar/actualizar modalidades
15
+ try:
16
+ MODALIDAD_TAREAS = cargar_modalidades_tareas()
17
+ except json.JSONDecodeError:
18
+ # Si el JSON está corrupto, actualizar desde HuggingFace <button class="citation-flag" data-index="1">
19
+ actualizar_modalidades_tareas_desde_huggingface()
20
+ MODALIDAD_TAREAS = cargar_modalidades_tareas()
21
+
22
  with gr.Blocks() as demo:
23
  gr.Markdown("# Diseñador de Modelos de Redes Neuronales y Generador de Datasets Multimodales")
24
+
25
+ # Botón para actualizar el JSON
26
+ with gr.Row():
27
+ btn_actualizar_json = gr.Button("Actualizar Modalidades desde HuggingFace")
28
+ mensaje_actualizacion = gr.Textbox(label="Estado de Actualización", interactive=False)
29
+ btn_actualizar_json.click(
30
+ fn=actualizar_modalidades_tareas_desde_huggingface,
31
+ inputs=[],
32
+ outputs=mensaje_actualizacion
33
+ )
34
+
35
  # Panel 1: Seleccionar Tareas
36
  with gr.Row():
 
37
  tareas_disponibles = gr.CheckboxGroup(
38
+ choices=[t for datos in MODALIDAD_TAREAS.values() for t in datos["tareas"].keys()],
39
  label="Tareas Disponibles",
40
  interactive=True
41
  )
 
52
 
53
  # Panel 3: Generar Encabezado
54
  with gr.Row():
55
+ btn_generar_encabezado = gr.Button("Generar Encabezado")
56
  encabezado_generado = gr.Textbox(label="Encabezado Generado", interactive=False)
57
  btn_generar_encabezado.click(
58
  fn=generar_encabezado,
59
+ inputs=tareas_disponibles,
60
  outputs=encabezado_generado
61
  )
62
+
63
+ # Panel 4: Buscar Datasets (Multi-seleccionable)
64
  with gr.Row():
65
  with gr.Column():
66
+ filtro_tamaño = gr.Dropdown(choices=["small", "medium", "large"], label="Tamaño")
67
+ filtro_licencia = gr.Dropdown(choices=["mit", "apache-2.0", "cc-by-4.0"], label="Licencia")
68
+ btn_buscar_datasets = gr.Button("Buscar Datasets Útiles")
69
+ datasets_encontrados = gr.CheckboxGroup(label="Datasets Compatibles") # Ahora es CheckboxGroup <button class="citation-flag" data-index="2">
70
  btn_buscar_datasets.click(
71
  fn=buscar_datasets,
72
+ inputs=[tareas_disponibles, filtro_tamaño, filtro_licencia],
73
  outputs=datasets_encontrados
74
  )
75
+
76
  # Panel 5: Generar Dataset
77
  with gr.Row():
78
+ pagina_actual = gr.Number(value=1, label="Página")
79
  filas_por_pagina = gr.Number(value=5, label="Filas por Página")
80
  btn_generar_dataset = gr.Button("Generar Dataset")
81
+ vista_previa_csv = gr.Textbox(label="Vista Previa", interactive=False)
 
82
  btn_generar_dataset.click(
83
  fn=generar_dataset,
84
  inputs=[encabezado_generado, datasets_encontrados, pagina_actual, filas_por_pagina],