File size: 1,011 Bytes
4c34509
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import streamlit as st

class ChatMemory:
    def __init__(self):
        self.chat_log = []
        self.data_store = {}

    def add_user(self, text):
        self.chat_log.append(("User ", text))

    def add_pair(self, user, agent):
        self.chat_log.append(("User ", user))
        self.chat_log.append(("Agent", agent))

    def display(self):
        for role, text in self.chat_log:
            if role == "User ":
                st.markdown(f"**👤 {text}**")
            else:
                st.markdown(f"> {text}")

    def store_df(self, filename, df_dict):
        self.data_store[filename] = df_dict

    def get_df(self, filename):
        return self.data_store.get(filename)

    def get_last_file(self):
        return list(self.data_store.keys())[-1] if self.data_store else None

    def has_data(self):
        return len(self.data_store) > 0

    def update_df(self, filename, key, value):
        if filename in self.data_store:
            self.data_store[filename][key] = value