Update app.py
Browse files
app.py
CHANGED
|
@@ -223,24 +223,20 @@ display_conversation()
|
|
| 223 |
|
| 224 |
# --- Chat Input Form ---
|
| 225 |
with st.form("chat_form", clear_on_submit=True):
|
| 226 |
-
# Use st.text_area for multi-line text input with text wrapping
|
| 227 |
user_input = st.text_area("Enter your message:", height=150)
|
| 228 |
submitted = st.form_submit_button("Send")
|
| 229 |
if submitted and user_input:
|
| 230 |
st.session_state.chat_history.append(("user", user_input))
|
| 231 |
-
|
|
|
|
| 232 |
|
| 233 |
# --- Generate Assistant Response ---
|
| 234 |
if st.session_state.chat_history and st.session_state.chat_history[-1][0] == "user":
|
| 235 |
inputs = {"messages": st.session_state.chat_history}
|
| 236 |
-
|
| 237 |
-
# Placeholder for real-time streaming of the response.
|
| 238 |
response_placeholder = st.empty()
|
| 239 |
assistant_message = ""
|
| 240 |
|
| 241 |
-
# Stream the agent's response chunk-by-chunk.
|
| 242 |
for s in graph.stream(inputs, stream_mode="values"):
|
| 243 |
-
# Extract the last message from the messages list.
|
| 244 |
message = s["messages"][-1]
|
| 245 |
if isinstance(message, tuple):
|
| 246 |
role, text = message
|
|
@@ -249,6 +245,5 @@ if st.session_state.chat_history and st.session_state.chat_history[-1][0] == "us
|
|
| 249 |
assistant_message += text
|
| 250 |
response_placeholder.markdown(f"**Assistant:** {assistant_message}")
|
| 251 |
|
| 252 |
-
# Append the complete assistant response to the chat history.
|
| 253 |
st.session_state.chat_history.append(("assistant", assistant_message))
|
| 254 |
-
|
|
|
|
| 223 |
|
| 224 |
# --- Chat Input Form ---
|
| 225 |
with st.form("chat_form", clear_on_submit=True):
|
|
|
|
| 226 |
user_input = st.text_area("Enter your message:", height=150)
|
| 227 |
submitted = st.form_submit_button("Send")
|
| 228 |
if submitted and user_input:
|
| 229 |
st.session_state.chat_history.append(("user", user_input))
|
| 230 |
+
# No need to force a rerun—Streamlit re-runs automatically on widget interaction.
|
| 231 |
+
|
| 232 |
|
| 233 |
# --- Generate Assistant Response ---
|
| 234 |
if st.session_state.chat_history and st.session_state.chat_history[-1][0] == "user":
|
| 235 |
inputs = {"messages": st.session_state.chat_history}
|
|
|
|
|
|
|
| 236 |
response_placeholder = st.empty()
|
| 237 |
assistant_message = ""
|
| 238 |
|
|
|
|
| 239 |
for s in graph.stream(inputs, stream_mode="values"):
|
|
|
|
| 240 |
message = s["messages"][-1]
|
| 241 |
if isinstance(message, tuple):
|
| 242 |
role, text = message
|
|
|
|
| 245 |
assistant_message += text
|
| 246 |
response_placeholder.markdown(f"**Assistant:** {assistant_message}")
|
| 247 |
|
|
|
|
| 248 |
st.session_state.chat_history.append(("assistant", assistant_message))
|
| 249 |
+
# No rerun needed here either.
|