Spaces:
Sleeping
Sleeping
Update streamlit_app.py
Browse files- streamlit_app.py +13 -6
streamlit_app.py
CHANGED
|
@@ -75,6 +75,7 @@ DEFAULT_STATE = {
|
|
| 75 |
"analysis_out": "",
|
| 76 |
"raw_output": "", # full Gemini response before stripping
|
| 77 |
"last_error_detail": "", # traceback + raw output for debugging
|
|
|
|
| 78 |
}
|
| 79 |
for k, v in DEFAULT_STATE.items():
|
| 80 |
st.session_state.setdefault(k, v)
|
|
@@ -381,6 +382,8 @@ if generate_now and not st.session_state["busy"]:
|
|
| 381 |
# keep both traceback and whatever raw output we might have
|
| 382 |
st.session_state["last_error_detail"] = f"{tb}\n\nRaw Gemini output:\n{st.session_state.get('raw_output','')}"
|
| 383 |
st.session_state["last_error"] = f"Generation error: {exc}"
|
|
|
|
|
|
|
| 384 |
st.error("An error occurred during generation.")
|
| 385 |
finally:
|
| 386 |
st.session_state["busy"] = False
|
|
@@ -390,15 +393,19 @@ if st.session_state["analysis_out"]:
|
|
| 390 |
st.subheader("📝 Analysis")
|
| 391 |
st.markdown(st.session_state["analysis_out"])
|
| 392 |
|
| 393 |
-
|
| 394 |
-
|
| 395 |
-
|
| 396 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 397 |
|
| 398 |
-
|
| 399 |
if st.session_state["last_error"]:
|
| 400 |
with st.expander("❗️ Error details"):
|
| 401 |
-
#
|
| 402 |
st.code(st.session_state["last_error_detail"], language="text")
|
| 403 |
|
| 404 |
if __name__ == "__main__":
|
|
|
|
| 75 |
"analysis_out": "",
|
| 76 |
"raw_output": "", # full Gemini response before stripping
|
| 77 |
"last_error_detail": "", # traceback + raw output for debugging
|
| 78 |
+
"show_raw_on_error": False,
|
| 79 |
}
|
| 80 |
for k, v in DEFAULT_STATE.items():
|
| 81 |
st.session_state.setdefault(k, v)
|
|
|
|
| 382 |
# keep both traceback and whatever raw output we might have
|
| 383 |
st.session_state["last_error_detail"] = f"{tb}\n\nRaw Gemini output:\n{st.session_state.get('raw_output','')}"
|
| 384 |
st.session_state["last_error"] = f"Generation error: {exc}"
|
| 385 |
+
# indicate that raw output should be shown in the main area
|
| 386 |
+
st.session_state["show_raw_on_error"] = True
|
| 387 |
st.error("An error occurred during generation.")
|
| 388 |
finally:
|
| 389 |
st.session_state["busy"] = False
|
|
|
|
| 393 |
st.subheader("📝 Analysis")
|
| 394 |
st.markdown(st.session_state["analysis_out"])
|
| 395 |
|
| 396 |
+
# Show raw Gemini output **above** the error expander when:
|
| 397 |
+
# • we have a normal analysis (so user can compare) OR
|
| 398 |
+
# • an error occurred (flag set)
|
| 399 |
+
if st.session_state["raw_output"] and (
|
| 400 |
+
st.session_state["analysis_out"] or st.session_state["show_raw_on_error"]
|
| 401 |
+
):
|
| 402 |
+
with st.expander("🔎 Full Gemini output (debug)"):
|
| 403 |
+
st.code(st.session_state["raw_output"], language="text")
|
| 404 |
|
| 405 |
+
# ---------- Errors ----------
|
| 406 |
if st.session_state["last_error"]:
|
| 407 |
with st.expander("❗️ Error details"):
|
| 408 |
+
# only the traceback – raw output already shown above
|
| 409 |
st.code(st.session_state["last_error_detail"], language="text")
|
| 410 |
|
| 411 |
if __name__ == "__main__":
|