Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -535,30 +535,40 @@ if st.session_state.search_results is not None:
|
|
| 535 |
st.session_state.analysis_cache['best_match_analysis'] = "❌ Lo sentimos, no se pudo generar el análisis detallado en este momento debido a un problema con la IA. Por favor, intenta de nuevo más tarde."
|
| 536 |
st.markdown(st.session_state.analysis_cache['best_match_analysis'])
|
| 537 |
|
| 538 |
-
|
| 539 |
-
|
| 540 |
-
|
| 541 |
-
|
| 542 |
-
|
| 543 |
-
|
| 544 |
-
|
| 545 |
-
|
| 546 |
-
|
| 547 |
-
|
| 548 |
-
|
| 549 |
-
|
| 550 |
-
|
| 551 |
-
|
| 552 |
-
|
| 553 |
-
|
| 554 |
-
|
| 555 |
-
|
| 556 |
-
|
| 557 |
-
|
| 558 |
-
|
| 559 |
-
|
| 560 |
-
|
| 561 |
-
|
| 562 |
-
|
| 563 |
-
|
| 564 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 535 |
st.session_state.analysis_cache['best_match_analysis'] = "❌ Lo sentimos, no se pudo generar el análisis detallado en este momento debido a un problema con la IA. Por favor, intenta de nuevo más tarde."
|
| 536 |
st.markdown(st.session_state.analysis_cache['best_match_analysis'])
|
| 537 |
|
| 538 |
+
if len(results) > 1:
|
| 539 |
+
with st.expander("🔍 **Explora otras posibilidades relevantes (Diagnóstico Diferencial)**"):
|
| 540 |
+
for i, result in enumerate(results[1:5]):
|
| 541 |
+
with st.container(border=True):
|
| 542 |
+
entry = result['entry']
|
| 543 |
+
score = result['score']
|
| 544 |
+
|
| 545 |
+
# Muestra la información de la condición
|
| 546 |
+
st.subheader(f"{i+2}. {entry.get('condicion_asociada')}")
|
| 547 |
+
col_info, col_action = st.columns([3, 1])
|
| 548 |
+
|
| 549 |
+
with col_info:
|
| 550 |
+
if result.get('matched_symptoms'):
|
| 551 |
+
st.markdown(f"**Pistas Clave (Síntomas Coincidentes):** {', '.join(result['matched_symptoms']).capitalize()}")
|
| 552 |
+
st.markdown(f"**Alimentos Típicos Asociados:** {entry.get('compuesto_alimento')}")
|
| 553 |
+
|
| 554 |
+
# Muestra la métrica y el botón de acción
|
| 555 |
+
with col_action:
|
| 556 |
+
st.metric("Relevancia", score['total'])
|
| 557 |
+
analysis_key = f"analysis_{i+2}"
|
| 558 |
+
|
| 559 |
+
# Lógica para manejar el clic del botón
|
| 560 |
+
if st.button("Generar análisis", key=analysis_key, help=f"Generar análisis de IA para {entry.get('condicion_asociada')}"):
|
| 561 |
+
with st.spinner(f"Generando análisis para {entry.get('condicion_asociada')}..."):
|
| 562 |
+
try:
|
| 563 |
+
analysis_text = generate_detailed_analysis(st.session_state.user_query, entry)
|
| 564 |
+
st.session_state.analysis_cache[analysis_key] = analysis_text
|
| 565 |
+
except Exception as e:
|
| 566 |
+
st.session_state.analysis_cache[analysis_key] = f"❌ Error al generar análisis para {entry.get('condicion_asociada')}."
|
| 567 |
+
|
| 568 |
+
# Lógica para mostrar el resultado guardado
|
| 569 |
+
if analysis_key in st.session_state.analysis_cache:
|
| 570 |
+
st.info(st.session_state.analysis_cache[analysis_key])
|
| 571 |
+
|
| 572 |
+
# Añade un separador visual entre las entradas
|
| 573 |
+
if i < len(results[1:5]) - 1:
|
| 574 |
+
st.markdown("---")
|