Pikeras commited on
Commit
fa6480b
verified
1 Parent(s): e4aa409

Update src/streamlit_app.py

Browse files
Files changed (1) hide show
  1. src/streamlit_app.py +27 -7
src/streamlit_app.py CHANGED
@@ -86,6 +86,15 @@ def _liberar_memoria() -> None:
86
  torch.cuda.empty_cache()
87
 
88
 
 
 
 
 
 
 
 
 
 
89
  def _render_reloj_tiempo_real(inicio_epoch: int, placeholder) -> None:
90
  with placeholder:
91
  components.html(
@@ -214,6 +223,20 @@ _init_state()
214
  if st.session_state.get("eval_error"):
215
  st.error(st.session_state["eval_error"])
216
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
217
  modo = st.radio(
218
  "Selecciona el modo",
219
  options=[ModoEvaluacion.POR_DEFECTO.value, ModoEvaluacion.PERSONALIZADA.value],
@@ -499,6 +522,9 @@ if st.session_state.get("eval_running") and st.session_state.get("eval_requested
499
  if st.session_state.get("eval_success") and st.session_state.get("last_result"):
500
  resultado = st.session_state["last_result"]
501
 
 
 
 
502
  if resultado.get("resumen") is not None:
503
  st.success("Resumen de evaluaci贸n")
504
  st.json(resultado["resumen"])
@@ -533,11 +559,5 @@ if st.session_state.get("eval_success") and st.session_state.get("last_result"):
533
  st.rerun()
534
 
535
  if st.button("Nueva evaluaci贸n", disabled=st.session_state["eval_running"]):
536
- st.session_state["eval_success"] = False
537
- st.session_state["last_result"] = None
538
- st.session_state["modelo_eval_validado"] = False
539
- st.session_state["modelo_eval_confirmado"] = ""
540
- st.session_state["modelo_gen_validado"] = False
541
- st.session_state["modelo_gen_confirmado"] = ""
542
- _liberar_memoria()
543
  st.rerun()
 
86
  torch.cuda.empty_cache()
87
 
88
 
89
+ def _reset_estado_inicial() -> None:
90
+ _liberar_memoria()
91
+ try:
92
+ cargar_modelo_transformers.clear()
93
+ except Exception:
94
+ pass
95
+ st.session_state.clear()
96
+
97
+
98
  def _render_reloj_tiempo_real(inicio_epoch: int, placeholder) -> None:
99
  with placeholder:
100
  components.html(
 
223
  if st.session_state.get("eval_error"):
224
  st.error(st.session_state["eval_error"])
225
 
226
+ if st.session_state.get("eval_running"):
227
+ st.warning("Evaluaci贸n en curso. Los controles est谩n bloqueados hasta finalizar o cancelar.")
228
+ confirmar_cancelacion = st.checkbox(
229
+ "Confirmo que quiero cancelar la evaluaci贸n en curso",
230
+ key="confirmar_cancelacion_en_curso",
231
+ value=False,
232
+ )
233
+ if st.button("Cancelar evaluaci贸n", key="cancelar_eval_en_curso"):
234
+ if confirmar_cancelacion:
235
+ _reset_estado_inicial()
236
+ st.rerun()
237
+ else:
238
+ st.error("Debes confirmar la cancelaci贸n para detener la evaluaci贸n.")
239
+
240
  modo = st.radio(
241
  "Selecciona el modo",
242
  options=[ModoEvaluacion.POR_DEFECTO.value, ModoEvaluacion.PERSONALIZADA.value],
 
522
  if st.session_state.get("eval_success") and st.session_state.get("last_result"):
523
  resultado = st.session_state["last_result"]
524
 
525
+ if resultado.get("elapsed_total"):
526
+ st.info(f"Tiempo total del proceso de evaluaci贸n: {resultado['elapsed_total']}")
527
+
528
  if resultado.get("resumen") is not None:
529
  st.success("Resumen de evaluaci贸n")
530
  st.json(resultado["resumen"])
 
559
  st.rerun()
560
 
561
  if st.button("Nueva evaluaci贸n", disabled=st.session_state["eval_running"]):
562
+ _reset_estado_inicial()
 
 
 
 
 
 
563
  st.rerun()