C2MV commited on
Commit
6d414bd
·
verified ·
1 Parent(s): 64bcbd0

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +108 -67
app.py CHANGED
@@ -13,13 +13,6 @@ import gradio as gr
13
 
14
  model_name = "BAAI/bge-m3"
15
 
16
- # APIs personales
17
- #PINECONE_ENVIRONMENT = us-east-1
18
- #PINECONE_API_KEY = 3a3e9022-381d-436e-84cb-ba93464d283e
19
-
20
- #os.environ["PINECONE_ENVIRONMENT"] = "us-east-1"
21
- #os.environ["PINECONE_API_KEY"] = "3a3e9022-381d-436e-84cb-ba93464d283e"
22
-
23
  # Retrieve the Pinecone API key from the user
24
  PINECONE_API_KEY = "3a3e9022-381d-436e-84cb-ba93464d283e" # Use the key you set in the secrets
25
  PINECONE_ENVIRONMENT = "us-east-1" # Use the environment you set in the secrets
@@ -274,54 +267,80 @@ with gr.Blocks() as demo:
274
  image_url = gr.State(value=None)
275
  submit_button = gr.Button("Enviar")
276
 
277
- # Categorized neonatal-related questions
278
  with gr.Accordion("Categorías de Preguntas", open=True):
279
- with gr.Row():
280
- with gr.Column():
281
- gr.Markdown("**Diagnóstico Principal**")
282
- button_1 = gr.Button("¿Cuáles son los diagnósticos más comunes en neonatos?")
283
- button_2 = gr.Button("¿Cuál es la prevalencia de la sepsis neonatal?")
284
-
285
- with gr.Column():
286
- gr.Markdown("**Tipo de Medicamento**")
287
- button_3 = gr.Button("¿Qué medicamentos son más usados en neonatos?")
288
- button_4 = gr.Button("¿Cuál es el medicamento más usado para infecciones neonatales?")
289
-
290
- with gr.Column():
291
- gr.Markdown("**Duración de Hospitalización**")
292
- button_5 = gr.Button("¿Cuál es la duración promedio de hospitalización de neonatos?")
293
- button_6 = gr.Button("¿Qué diagnósticos requieren hospitalizaciones más largas?")
294
-
295
- with gr.Row():
296
- with gr.Column():
297
- gr.Markdown("**Costo de Medicamentos**")
298
- button_7 = gr.Button("¿Cuáles son los medicamentos más costosos en el tratamiento neonatal?")
299
-
300
- with gr.Column():
301
- gr.Markdown("**Diferencias Geográficas**")
302
- button_8 = gr.Button("¿Cómo varía el acceso a medicamentos entre regiones?")
303
-
304
- with gr.Column():
305
- gr.Markdown("**Análisis Temporal**")
306
- button_9 = gr.Button("¿Hay patrones estacionales en la administración de medicamentos?")
307
-
308
- with gr.Row():
309
- with gr.Column():
310
- gr.Markdown("**Relación entre Diagnósticos y Medicamentos**")
311
- button_10 = gr.Button("¿Qué medicamentos se usan para tratar sepsis neonatal?")
312
-
313
- with gr.Column():
314
- gr.Markdown("**Impacto en la Salud Neonatal**")
315
- button_11 = gr.Button("¿Cómo impacta el uso de antibióticos en la recuperación neonatal?")
316
-
317
- with gr.Column():
318
- gr.Markdown("**Limitaciones en la Calidad de Datos**")
319
- button_12 = gr.Button("¿Cuáles son las limitaciones de los datos sobre salud neonatal?")
320
-
321
- with gr.Row():
322
- with gr.Column():
323
- gr.Markdown("**Recomendaciones y Mejoras**")
324
- button_13 = gr.Button("¿Qué mejoras se pueden implementar en la atención neonatal?")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
325
 
326
  with gr.Column(scale=1):
327
  image_output = gr.Image(label="Imagen asociada")
@@ -336,19 +355,41 @@ with gr.Blocks() as demo:
336
  return process_input(question, history)
337
 
338
  # Assign the buttons to send the respective categorized questions
339
- button_1.click(send_preset_question, inputs=[gr.State(value="¿Cuáles son los diagnósticos más comunes en neonatos?"), chatbot_history], outputs=[chatbot_output, chatbot_history, image_url])
340
- button_2.click(send_preset_question, inputs=[gr.State(value="¿Cuál es la prevalencia de la sepsis neonatal?"), chatbot_history], outputs=[chatbot_output, chatbot_history, image_url])
341
- button_3.click(send_preset_question, inputs=[gr.State(value="¿Qué medicamentos son más usados en neonatos?"), chatbot_history], outputs=[chatbot_output, chatbot_history, image_url])
342
- button_4.click(send_preset_question, inputs=[gr.State(value="¿Cuál es el medicamento más usado para infecciones neonatales?"), chatbot_history], outputs=[chatbot_output, chatbot_history, image_url])
343
- button_5.click(send_preset_question, inputs=[gr.State(value="¿Cuál es la duración promedio de hospitalización de neonatos?"), chatbot_history], outputs=[chatbot_output, chatbot_history, image_url])
344
- button_6.click(send_preset_question, inputs=[gr.State(value="¿Qué diagnósticos requieren hospitalizaciones más largas?"), chatbot_history], outputs=[chatbot_output, chatbot_history, image_url])
345
- button_7.click(send_preset_question, inputs=[gr.State(value="¿Cuáles son los medicamentos más costosos en el tratamiento neonatal?"), chatbot_history], outputs=[chatbot_output, chatbot_history, image_url])
346
- button_8.click(send_preset_question, inputs=[gr.State(value="¿Cómo varía el acceso a medicamentos entre regiones?"), chatbot_history], outputs=[chatbot_output, chatbot_history, image_url])
347
- button_9.click(send_preset_question, inputs=[gr.State(value="¿Hay patrones estacionales en la administración de medicamentos?"), chatbot_history], outputs=[chatbot_output, chatbot_history, image_url])
348
- button_10.click(send_preset_question, inputs=[gr.State(value="¿Qué medicamentos se usan para tratar sepsis neonatal?"), chatbot_history], outputs=[chatbot_output, chatbot_history, image_url])
349
- button_11.click(send_preset_question, inputs=[gr.State(value="¿Cómo impacta el uso de antibióticos en la recuperación neonatal?"), chatbot_history], outputs=[chatbot_output, chatbot_history, image_url])
350
- button_12.click(send_preset_question, inputs=[gr.State(value="¿Cuáles son las limitaciones de los datos sobre salud neonatal?"), chatbot_history], outputs=[chatbot_output, chatbot_history, image_url])
351
- button_13.click(send_preset_question, inputs=[gr.State(value="¿Qué mejoras se pueden implementar en la atención neonatal?"), chatbot_history], outputs=[chatbot_output, chatbot_history, image_url])
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
352
 
353
  submit_button.click(process_input, inputs=[chatbot_input, chatbot_history], outputs=[chatbot_output, chatbot_history, image_url])
354
  image_url.change(fn=update_image, inputs=image_url, outputs=image_output)
 
13
 
14
  model_name = "BAAI/bge-m3"
15
 
 
 
 
 
 
 
 
16
  # Retrieve the Pinecone API key from the user
17
  PINECONE_API_KEY = "3a3e9022-381d-436e-84cb-ba93464d283e" # Use the key you set in the secrets
18
  PINECONE_ENVIRONMENT = "us-east-1" # Use the environment you set in the secrets
 
267
  image_url = gr.State(value=None)
268
  submit_button = gr.Button("Enviar")
269
 
270
+ # Main accordion for categories
271
  with gr.Accordion("Categorías de Preguntas", open=True):
272
+
273
+ # Diagnósticos Accordion
274
+ with gr.Accordion("Diagnósticos", open=False):
275
+
276
+ # Subaccordion for Diagnósticos Comunes
277
+ with gr.Accordion("Diagnósticos Comunes", open=False):
278
+ button_1 = gr.Button("¿Cuál es el diagnóstico más común registrado en el dataset?")
279
+ button_2 = gr.Button("¿Cuáles son los diagnósticos más frecuentes que requieren hospitalización prolongada?")
280
+ button_3 = gr.Button("¿Qué tan frecuentes son los diagnósticos relacionados con nacimientos prematuros?")
281
+ button_4 = gr.Button("¿Cuáles son los diagnósticos menos comunes en el dataset?")
282
+
283
+ # Subaccordion for Diagnósticos Críticos
284
+ with gr.Accordion("Diagnósticos Críticos", open=False):
285
+ button_5 = gr.Button("¿Cuál es la incidencia de diagnósticos graves como el 'Síndrome de Dificultad Respiratoria' (P220)?")
286
+ button_6 = gr.Button("¿Cuál es la tasa de mortalidad asociada a estos diagnósticos graves?")
287
+ button_7 = gr.Button("¿Qué porcentaje de neonatos con sepsis requiere cuidados intensivos?")
288
+
289
+ # Subaccordion for Codificación y Clasificación
290
+ with gr.Accordion("Codificación y Clasificación", open=False):
291
+ button_8 = gr.Button("¿Cuáles son los códigos CIE-10 relacionados con infecciones neonatales?")
292
+ button_9 = gr.Button("¿Qué diagnósticos están clasificados bajo el código P00-P96 en neonatos?")
293
+
294
+ # Tratamientos Accordion
295
+ with gr.Accordion("Tratamientos", open=False):
296
+
297
+ # Subaccordion for Medicamentos Comunes
298
+ with gr.Accordion("Medicamentos Comunes", open=False):
299
+ button_10 = gr.Button("¿Qué medicamentos son más usados en neonatos?")
300
+ button_11 = gr.Button("¿Cuál es el medicamento más usado para infecciones neonatales?")
301
+ button_12 = gr.Button("¿Cuáles son los efectos secundarios más comunes de estos medicamentos?")
302
+
303
+ # Subaccordion for Intervenciones Médicas
304
+ with gr.Accordion("Intervenciones Médicas", open=False):
305
+ button_13 = gr.Button("¿Cuál es la proporción de diagnósticos que requieren intervención quirúrgica?")
306
+ button_14 = gr.Button("¿Cuáles son las complicaciones más frecuentes durante las intervenciones quirúrgicas en neonatos?")
307
+ button_15 = gr.Button("¿Cuál es la tasa de éxito de las intervenciones quirúrgicas en neonatos?")
308
+
309
+ # Estadísticas y Frecuencia Accordion
310
+ with gr.Accordion("Estadísticas y Frecuencia", open=False):
311
+
312
+ # Subaccordion for Estadísticas Generales
313
+ with gr.Accordion("Estadísticas Generales", open=False):
314
+ button_16 = gr.Button("¿Qué porcentaje del total de registros corresponde al diagnóstico 'Nacido Vivo Único' (Z370)?")
315
+ button_17 = gr.Button("¿Cuál es la distribución por edad gestacional de los neonatos en el dataset?")
316
+ button_18 = gr.Button("¿Cuál es la tasa de readmisión hospitalaria en neonatos?")
317
+
318
+ # Subaccordion for Diferencias Geográficas
319
+ with gr.Accordion("Diferencias Geográficas", open=False):
320
+ button_19 = gr.Button("¿Cómo varía el acceso a medicamentos entre regiones?")
321
+ button_20 = gr.Button("¿Existen diferencias significativas en las tasas de diagnóstico entre diferentes regiones?")
322
+ button_21 = gr.Button("¿Cómo varía la mortalidad neonatal entre diferentes departamentos?")
323
+
324
+ # Subaccordion for Análisis Temporal
325
+ with gr.Accordion("Análisis Temporal", open=False):
326
+ button_22 = gr.Button("¿Hay patrones estacionales en la administración de medicamentos?")
327
+ button_23 = gr.Button("¿Cómo han cambiado las tasas de mortalidad neonatal a lo largo de los años?")
328
+ button_24 = gr.Button("¿Existen variaciones en la incidencia de diagnósticos críticos a lo largo del año?")
329
+
330
+ # Impacto y Calidad de Datos Accordion
331
+ with gr.Accordion("Impacto y Calidad de Datos", open=False):
332
+
333
+ # Subaccordion for Impacto en la Salud Neonatal
334
+ with gr.Accordion("Impacto en la Salud Neonatal", open=False):
335
+ button_25 = gr.Button("¿Cómo impacta el uso de antibióticos en la recuperación neonatal?")
336
+ button_26 = gr.Button("¿Qué mejoras se pueden implementar en la atención neonatal?")
337
+ button_27 = gr.Button("¿Cuál es la efectividad de las medidas preventivas en la reducción de infecciones neonatales?")
338
+
339
+ # Subaccordion for Calidad de Datos
340
+ with gr.Accordion("Calidad de Datos", open=False):
341
+ button_28 = gr.Button("¿Cuáles son las limitaciones de los datos sobre salud neonatal?")
342
+ button_29 = gr.Button("¿Qué tan completos y precisos son los registros de diagnóstico?")
343
+ button_30 = gr.Button("¿Cómo afecta la calidad de los datos a la investigación y atención neonatal?")
344
 
345
  with gr.Column(scale=1):
346
  image_output = gr.Image(label="Imagen asociada")
 
355
  return process_input(question, history)
356
 
357
  # Assign the buttons to send the respective categorized questions
358
+ button_assignments = [
359
+ (button_1, "¿Cuál es el diagnóstico más común registrado en el dataset?"),
360
+ (button_2, "¿Cuáles son los diagnósticos más frecuentes que requieren hospitalización prolongada?"),
361
+ (button_3, "¿Qué tan frecuentes son los diagnósticos relacionados con nacimientos prematuros?"),
362
+ (button_4, "¿Cuáles son los diagnósticos menos comunes en el dataset?"),
363
+ (button_5, "¿Cuál es la incidencia de diagnósticos graves como el 'Síndrome de Dificultad Respiratoria' (P220)?"),
364
+ (button_6, "¿Cuál es la tasa de mortalidad asociada a estos diagnósticos graves?"),
365
+ (button_7, "¿Qué porcentaje de neonatos con sepsis requiere cuidados intensivos?"),
366
+ (button_8, "¿Cuáles son los códigos CIE-10 relacionados con infecciones neonatales?"),
367
+ (button_9, "¿Qué diagnósticos están clasificados bajo el código P00-P96 en neonatos?"),
368
+ (button_10, "¿Qué medicamentos son más usados en neonatos?"),
369
+ (button_11, "¿Cuál es el medicamento más usado para infecciones neonatales?"),
370
+ (button_12, "¿Cuáles son los efectos secundarios más comunes de estos medicamentos?"),
371
+ (button_13, "¿Cuál es la proporción de diagnósticos que requieren intervención quirúrgica?"),
372
+ (button_14, "¿Cuáles son las complicaciones más frecuentes durante las intervenciones quirúrgicas en neonatos?"),
373
+ (button_15, "¿Cuál es la tasa de éxito de las intervenciones quirúrgicas en neonatos?"),
374
+ (button_16, "¿Qué porcentaje del total de registros corresponde al diagnóstico 'Nacido Vivo Único' (Z370)?"),
375
+ (button_17, "¿Cuál es la distribución por edad gestacional de los neonatos en el dataset?"),
376
+ (button_18, "¿Cuál es la tasa de readmisión hospitalaria en neonatos?"),
377
+ (button_19, "¿Cómo varía el acceso a medicamentos entre regiones?"),
378
+ (button_20, "¿Existen diferencias significativas en las tasas de diagnóstico entre diferentes regiones?"),
379
+ (button_21, "¿Cómo varía la mortalidad neonatal entre diferentes departamentos?"),
380
+ (button_22, "¿Hay patrones estacionales en la administración de medicamentos?"),
381
+ (button_23, "¿Cómo han cambiado las tasas de mortalidad neonatal a lo largo de los años?"),
382
+ (button_24, "¿Existen variaciones en la incidencia de diagnósticos críticos a lo largo del año?"),
383
+ (button_25, "¿Cómo impacta el uso de antibióticos en la recuperación neonatal?"),
384
+ (button_26, "¿Qué mejoras se pueden implementar en la atención neonatal?"),
385
+ (button_27, "¿Cuál es la efectividad de las medidas preventivas en la reducción de infecciones neonatales?"),
386
+ (button_28, "¿Cuáles son las limitaciones de los datos sobre salud neonatal?"),
387
+ (button_29, "¿Qué tan completos y precisos son los registros de diagnóstico?"),
388
+ (button_30, "¿Cómo afecta la calidad de los datos a la investigación y atención neonatal?"),
389
+ ]
390
+
391
+ for button, question in button_assignments:
392
+ button.click(send_preset_question, inputs=[gr.State(value=question), chatbot_history], outputs=[chatbot_output, chatbot_history, image_url])
393
 
394
  submit_button.click(process_input, inputs=[chatbot_input, chatbot_history], outputs=[chatbot_output, chatbot_history, image_url])
395
  image_url.change(fn=update_image, inputs=image_url, outputs=image_output)