That just happens when using StreamlitCallbackHandler
Here the code:
Start the chat conversation
if “messages” not in st.session_state:
st.session_state.messages = [{“role”: “assistant”, “content”: “How may I assist you today?”}]
for message in st.session_state.messages:
with st.chat_message(message[“role”]):
st.markdown(message[“content”])
user_input = st.chat_input(“Write your message here…”)
if user_input:
st.session_state.messages.append({“role”: “user”, “content”: user_input, “save”: True})
with st.chat_message(“user”):
st.markdown(user_input)
try:
with st.chat_message("assistant"):
with st.spinner("Thinking..."):
st_callback = StreamlitCallbackHandler(
parent_container = st.container(),
max_thought_containers = 4,
expand_new_thoughts = False)
def response_generator():
response = agent_conversational.invoke({"input": user_input, "chat_history": message}, {"callbacks": [st_callback]})
output_message = response["output"]
for word in output_message.split(" "):
yield word + " "
time.sleep(0.1)
output_message = st.write_stream(response_generator())
st.session_state.messages.append({"role": "assistant", "content": output_message})