Futuresony commited on
Commit
36f8be6
·
verified ·
1 Parent(s): 6ca233d

Update streamlit_app.py

Browse files
Files changed (1) hide show
  1. streamlit_app.py +27 -1
streamlit_app.py CHANGED
@@ -58,4 +58,30 @@ if prompt := st.chat_input("Your Question"):
58
  # Iterate through messages, excluding the very last user prompt which is the current input
59
  for i in range(len(st.session_state.messages) - 1):
60
  if st.session_state.messages[i]["role"] == "user" and st.session_state.messages[i+1]["role"] == "assistant":
61
- history_for_respond.append((st.session_state.messages[i]["content"], st.st
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
58
  # Iterate through messages, excluding the very last user prompt which is the current input
59
  for i in range(len(st.session_state.messages) - 1):
60
  if st.session_state.messages[i]["role"] == "user" and st.session_state.messages[i+1]["role"] == "assistant":
61
+ history_for_respond.append((st.session_state.messages[i]["content"], st.session_state.messages[i+1]["content"]))
62
+
63
+ # Display assistant response in chat message container
64
+ with st.chat_message("assistant"):
65
+ with st.spinner("Thinking..."):
66
+ # Call your respond function
67
+ # The respond function expects user_input and chat_history in Gradio format
68
+ # It returns ("", updated_chat_history_in_gradio_format)
69
+ _, updated_gradio_history = respond(prompt, history_for_respond)
70
+
71
+ # Extract the latest assistant response from the updated history
72
+ if updated_gradio_history:
73
+ latest_turn = updated_gradio_history[-1]
74
+ # The bot response is the second element of the last tuple
75
+ full_response = latest_turn[1]
76
+ else:
77
+ full_response = "Sorry, I couldn't generate a response."
78
+
79
+ # Display the full response
80
+ st.markdown(full_response)
81
+
82
+ # Update Streamlit's session state history with the new user and assistant messages
83
+ # The user message was already added before calling respond
84
+ # Add the assistant message now
85
+ # Check if the last added message was the user prompt and if the response is not empty
86
+ if st.session_state.messages[-1]["role"] == "user" and full_response:
87
+ st.session_state.messages.append({"role": "assistant", "content": full_response})