Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -20,6 +20,12 @@ if 'openai_api_key' not in st.session_state:
|
|
20 |
st.session_state.openai_api_key = st.sidebar.text_input("Enter your OpenAI API Key:", type="password",
|
21 |
value=st.session_state.openai_api_key)
|
22 |
|
|
|
|
|
|
|
|
|
|
|
|
|
23 |
# Initialize session state for messages
|
24 |
if "messages" not in st.session_state:
|
25 |
st.session_state.messages = [
|
@@ -63,16 +69,24 @@ def load_data(uploaded_files):
|
|
63 |
|
64 |
# Function to save the conversation
|
65 |
def save_conversation():
|
66 |
-
|
67 |
-
|
68 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
69 |
|
70 |
# Function to load previous conversations
|
71 |
def load_conversations():
|
72 |
if os.path.exists("conversations.json"):
|
73 |
with open("conversations.json", "r") as f:
|
74 |
conversations = [json.loads(line) for line in f]
|
75 |
-
|
|
|
76 |
return []
|
77 |
|
78 |
# Function to delete selected conversations
|
@@ -139,14 +153,14 @@ if st.sidebar.button("Toggle Previous Conversations"):
|
|
139 |
|
140 |
# Show previous conversations if the toggle is enabled
|
141 |
if st.session_state.show_conversations:
|
142 |
-
st.sidebar.subheader("Previous Conversations")
|
143 |
conversations = load_conversations()
|
144 |
|
145 |
if conversations:
|
146 |
selected_indices = []
|
147 |
for i, conv in enumerate(conversations):
|
148 |
st.sidebar.write(f"Conversation {i + 1}:")
|
149 |
-
for message in conv:
|
150 |
st.sidebar.write(f"{message['role']}: {message['content']}")
|
151 |
# Checkbox for selecting conversation to delete
|
152 |
if st.sidebar.checkbox(f"Select Conversation {i + 1} for Deletion", key=f"delete_checkbox_{i}"):
|
@@ -161,4 +175,4 @@ if st.session_state.show_conversations:
|
|
161 |
else:
|
162 |
st.sidebar.write("No previous conversations found.")
|
163 |
else:
|
164 |
-
st.sidebar.write("Previous conversations are hidden. Click 'Toggle Previous Conversations' to show.")
|
|
|
20 |
st.session_state.openai_api_key = st.sidebar.text_input("Enter your OpenAI API Key:", type="password",
|
21 |
value=st.session_state.openai_api_key)
|
22 |
|
23 |
+
# Add a text input for the username
|
24 |
+
if 'username' not in st.session_state:
|
25 |
+
st.session_state.username = ""
|
26 |
+
|
27 |
+
st.session_state.username = st.sidebar.text_input("Enter your username:")
|
28 |
+
|
29 |
# Initialize session state for messages
|
30 |
if "messages" not in st.session_state:
|
31 |
st.session_state.messages = [
|
|
|
69 |
|
70 |
# Function to save the conversation
|
71 |
def save_conversation():
|
72 |
+
if st.session_state.username:
|
73 |
+
with open("conversations.json", "a") as f:
|
74 |
+
conversation_entry = {
|
75 |
+
"username": st.session_state.username,
|
76 |
+
"messages": st.session_state.messages
|
77 |
+
}
|
78 |
+
json.dump(conversation_entry, f)
|
79 |
+
f.write("\n")
|
80 |
+
else:
|
81 |
+
st.warning("Please enter a username before saving the conversation.")
|
82 |
|
83 |
# Function to load previous conversations
|
84 |
def load_conversations():
|
85 |
if os.path.exists("conversations.json"):
|
86 |
with open("conversations.json", "r") as f:
|
87 |
conversations = [json.loads(line) for line in f]
|
88 |
+
# Filter conversations based on the current username
|
89 |
+
return [conv for conv in conversations if conv["username"] == st.session_state.username]
|
90 |
return []
|
91 |
|
92 |
# Function to delete selected conversations
|
|
|
153 |
|
154 |
# Show previous conversations if the toggle is enabled
|
155 |
if st.session_state.show_conversations:
|
156 |
+
st.sidebar.subheader("Your Previous Conversations")
|
157 |
conversations = load_conversations()
|
158 |
|
159 |
if conversations:
|
160 |
selected_indices = []
|
161 |
for i, conv in enumerate(conversations):
|
162 |
st.sidebar.write(f"Conversation {i + 1}:")
|
163 |
+
for message in conv["messages"]:
|
164 |
st.sidebar.write(f"{message['role']}: {message['content']}")
|
165 |
# Checkbox for selecting conversation to delete
|
166 |
if st.sidebar.checkbox(f"Select Conversation {i + 1} for Deletion", key=f"delete_checkbox_{i}"):
|
|
|
175 |
else:
|
176 |
st.sidebar.write("No previous conversations found.")
|
177 |
else:
|
178 |
+
st.sidebar.write("Previous conversations are hidden. Click 'Toggle Previous Conversations' to show.")
|