Spaces:
Sleeping
Sleeping
Update src/streamlit_app.py
Browse files- 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 |
-
|
| 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()
|