Spaces:
Runtime error
Runtime error
| import os | |
| import streamlit as st | |
| from streamlit_chat import message | |
| class ChatHistory: | |
| def __init__(self): | |
| self.history = st.session_state.get("history", []) | |
| st.session_state["history"] = self.history | |
| def default_greeting(self): | |
| return "μλ ! π" | |
| def default_prompt(self, topic): | |
| return f"μλ νμΈμ ! {topic}μ λν΄ λ¬΄μμ΄λ λ¬Όμ΄λ³΄μΈμ π€" | |
| def initialize_user_history(self): | |
| st.session_state["user"] = [self.default_greeting()] | |
| def initialize_assistant_history(self, uploaded_file): | |
| st.session_state["assistant"] = [self.default_prompt(uploaded_file.name)] | |
| def initialize(self, uploaded_file): | |
| if "assistant" not in st.session_state: | |
| self.initialize_assistant_history(uploaded_file) | |
| if "user" not in st.session_state: | |
| self.initialize_user_history() | |
| def reset(self, uploaded_file): | |
| st.session_state["history"] = [] | |
| self.initialize_user_history() | |
| self.initialize_assistant_history(uploaded_file) | |
| st.session_state["reset_chat"] = False | |
| def append(self, mode, message): | |
| st.session_state[mode].append(message) | |
| def generate_messages(self, container): | |
| if st.session_state["assistant"]: | |
| with container: | |
| for i in range(len(st.session_state["assistant"])): | |
| message( | |
| st.session_state["user"][i], | |
| is_user=True, | |
| key=f"{i}_user", | |
| avatar_style="big-smile", | |
| ) | |
| message(st.session_state["assistant"][i], key=str(i), avatar_style="thumbs") | |
| def load(self): | |
| if os.path.exists(self.history_file): | |
| with open(self.history_file, "r") as f: | |
| self.history = f.read().splitlines() | |
| def save(self): | |
| with open(self.history_file, "w") as f: | |
| f.write("\n".join(self.history)) |