JairoCesar commited on
Commit
6c0b967
·
verified ·
1 Parent(s): b48d938

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +10 -25
app.py CHANGED
@@ -593,25 +593,14 @@ if st.session_state.search_results is not None:
593
  st.success(f"Hemos encontrado {len(results)} posible(s) causa(s) relacionada(s) con tu caso.")
594
  with col2:
595
  report_data = generate_report_text(st.session_state.user_query, results)
596
- st.download_button(label="📄 Descargar Informe", data=report_data, file_name=f"informe_detective_{datetime.now().strftime('%Y%m%d')}.txt", mime="text/plain")
597
-
598
- st.subheader("Análisis de Relevancia de las Coincidencias")
599
- st.altair_chart(create_relevance_chart(results), use_container_width=True)
600
-
601
- best_match_data = results[0]
602
- best_match = best_match_data['entry']
603
- if st.session_state.search_results is not None:
604
- results = st.session_state.search_results
605
-
606
- if not results:
607
- st.warning(f"No se encontraron coincidencias claras para tu caso: '{st.session_state.user_query}'. Prueba a describir los síntomas de otra manera.")
608
- else:
609
- col1, col2 = st.columns([3,1])
610
- with col1:
611
- st.success(f"Hemos encontrado {len(results)} posible(s) causa(s) relacionada(s) con tu caso.")
612
- with col2:
613
- report_data = generate_report_text(st.session_state.user_query, results)
614
- st.download_button(label="📄 Descargar Informe", data=report_data, file_name=f"informe_detective_{datetime.now().strftime('%Y%m%d')}.txt", mime="text/plain")
615
 
616
  st.subheader("Análisis de Relevancia de las Coincidencias")
617
  st.altair_chart(create_relevance_chart(results), use_container_width=True)
@@ -619,10 +608,8 @@ if st.session_state.search_results is not None:
619
  best_match_data = results[0]
620
  best_match = best_match_data['entry']
621
  with st.expander(f"**Análisis Detallado de la Principal Coincidencia: {best_match.get('condicion_asociada')}**", expanded=True):
622
- # Las columnas se crean DENTRO del expander
623
  col1, col2 = st.columns([3, 1])
624
 
625
- # Contenido de la primera columna
626
  with col1:
627
  st.markdown("##### Desglose de la Puntuación de Relevancia:")
628
  score_col1, score_col2, score_col3 = st.columns(3)
@@ -630,9 +617,8 @@ if st.session_state.search_results is not None:
630
  score_col2.metric("Puntos por Síntomas", f"{best_match_data['score']['symptoms']}")
631
  score_col3.metric("PUNTUACIÓN TOTAL", f"{best_match_data['score']['total']}", delta="Máxima coincidencia")
632
 
633
- # Contenido de la segunda columna con el popover de FoodB
634
  with col2:
635
- st.write("") # Para alinear verticalmente el popover
636
  if foodb_index:
637
  with st.popover("🔬 Componentes moleculares"):
638
  st.info("Información de la base de datos FoodB (en inglés).")
@@ -667,7 +653,6 @@ if st.session_state.search_results is not None:
667
 
668
  st.markdown("---")
669
 
670
- # --- NUEVA SECCIÓN INTEGRADA ---
671
  with st.container(border=True):
672
  st.markdown("##### 🧠 Posibles Efectos Neuropsicológicos de los Componentes")
673
 
@@ -680,7 +665,7 @@ if st.session_state.search_results is not None:
680
 
681
  found_neuro_effect = False
682
  if relevant_compounds:
683
- for compound in sorted(list(relevant_compounds)): # Ordenar para consistencia
684
  if compound in INTEGRATED_NEURO_FOOD_MAP:
685
  found_neuro_effect = True
686
  effect_info = INTEGRATED_NEURO_FOOD_MAP[compound]
 
593
  st.success(f"Hemos encontrado {len(results)} posible(s) causa(s) relacionada(s) con tu caso.")
594
  with col2:
595
  report_data = generate_report_text(st.session_state.user_query, results)
596
+ # --- CORRECCIÓN APLICADA AQUÍ ---
597
+ st.download_button(
598
+ label="📄 Descargar Informe",
599
+ data=report_data,
600
+ file_name=f"informe_detective_{datetime.now().strftime('%Y%m%d')}.txt",
601
+ mime="text/plain",
602
+ key="download_main_report" # Se añade una clave única
603
+ )
 
 
 
 
 
 
 
 
 
 
 
604
 
605
  st.subheader("Análisis de Relevancia de las Coincidencias")
606
  st.altair_chart(create_relevance_chart(results), use_container_width=True)
 
608
  best_match_data = results[0]
609
  best_match = best_match_data['entry']
610
  with st.expander(f"**Análisis Detallado de la Principal Coincidencia: {best_match.get('condicion_asociada')}**", expanded=True):
 
611
  col1, col2 = st.columns([3, 1])
612
 
 
613
  with col1:
614
  st.markdown("##### Desglose de la Puntuación de Relevancia:")
615
  score_col1, score_col2, score_col3 = st.columns(3)
 
617
  score_col2.metric("Puntos por Síntomas", f"{best_match_data['score']['symptoms']}")
618
  score_col3.metric("PUNTUACIÓN TOTAL", f"{best_match_data['score']['total']}", delta="Máxima coincidencia")
619
 
 
620
  with col2:
621
+ st.write("")
622
  if foodb_index:
623
  with st.popover("🔬 Componentes moleculares"):
624
  st.info("Información de la base de datos FoodB (en inglés).")
 
653
 
654
  st.markdown("---")
655
 
 
656
  with st.container(border=True):
657
  st.markdown("##### 🧠 Posibles Efectos Neuropsicológicos de los Componentes")
658
 
 
665
 
666
  found_neuro_effect = False
667
  if relevant_compounds:
668
+ for compound in sorted(list(relevant_compounds)):
669
  if compound in INTEGRATED_NEURO_FOOD_MAP:
670
  found_neuro_effect = True
671
  effect_info = INTEGRATED_NEURO_FOOD_MAP[compound]