File size: 1,565 Bytes
ed65c68
 
 
 
 
 
 
 
 
 
 
 
5d970ca
ed65c68
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
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