jcmachicao's picture
Update app.py
4f5fa3f verified
raw
history blame
1.71 kB
import gradio as gr
from utils_gdmk import (
inicializar_grafo, cargar_normativas, cargar_estudiantes, mostrar_detalles,
visualizar_grafo, agregar_aporte
)
# Initialize graph before launching UI
inicializar_grafo()
normativas = cargar_normativas()
estudiantes = cargar_estudiantes()
coleccion = "normativa_peruana_gestion_riesgos"
coleccion = "propuestas_gestion_incertidumbre"
norm_options = [norm['nombre'] for norm in normativas[coleccion]]
student_names = estudiantes["estudiantes"]
# Gradio Interface
iface = gr.Blocks()
with iface:
gr.Markdown("# Foro Din谩mico con Visualizaci贸n de Red")
with gr.Row():
gr.Markdown('## Selecci贸n del Documento')
normativa_dropdown = gr.Dropdown(choices=norm_options, label="Documentos a Explorar")
normativa_html = gr.HTML()
# 馃搶 Update HTML when a norm is selected
normativa_dropdown.change(fn=mostrar_detalles, inputs=normativa_dropdown, outputs=normativa_html)
# 馃搶 Graph Display
with gr.Row():
gr.Markdown("## Red de Aportes:")
graph_output = gr.Image(visualizar_grafo(), label="Red de Aportes")
# 馃搶 Input Fields
with gr.Row():
nombre = gr.Dropdown(choices=student_names, label="Nombre del Estudiante")
enfoque = gr.Radio(["Determinista", "Sist茅mico", "Evolutivo", "Cognitivo"], label="Enfoque")
with gr.Row():
texto = gr.Textbox(label="Tu aporte")
# 馃搶 Submit Button (Now Uses `normativa_dropdown` Directly)
submit_button = gr.Button("Agregar Aporte")
submit_button.click(
fn=agregar_aporte,
inputs=[nombre, enfoque, normativa_dropdown, texto],
outputs=graph_output
)
iface.launch(share=True)