import streamlit as st class DisplayResultStreamlit: def __init__(self, graph, user_message): self.graph = graph self.user_message = user_message def display_result_on_ui(self): graph = self.graph user_message = self.user_message # print(f"### user_message : {user_message}") with st.chat_message("user"): st.write(user_message) # messages = graph.invoke({"user_message": user_message}) # Stream through the graph and get the response events for event in graph.stream({"user_message": user_message}): # print(event.values()) for value in event.values(): # # Show user message # if "yt_url" in value: # continue # Skip redundant yt_url display # if "blog_title" in value: # with st.chat_message("assistant"): # st.write(f"Assistant: {value['blog_title']}") # if "blog_content" in value: # with st.chat_message("assistant"): # st.write(f"Assistant: {value['blog_content']}") if "blog_title" in value or "blog_content" in value: with st.chat_message("assistant"): if "blog_title" in value: st.markdown(f"**{value['blog_title']}**") # Bold title if "blog_content" in value: st.write(value["blog_content"]) # Display blog content