Skip to content

Commit

Permalink
Merge pull request #359 from Vokturz/main
Browse files Browse the repository at this point in the history
added option to remove conversations
  • Loading branch information
xtekky committed May 1, 2023
2 parents 3f49f18 + 1379ec9 commit a25f5d4
Showing 1 changed file with 21 additions and 5 deletions.
26 changes: 21 additions & 5 deletions gui/streamlit_chat_app.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,17 @@ def save_conversations(conversations, current_conversation):

os.replace(temp_conversations_file, conversations_file)

def delete_conversation(conversations, current_conversation):
for idx, conversation in enumerate(conversations):
conversations[idx] = current_conversation
break
conversations.remove(current_conversation)

temp_conversations_file = "temp_" + conversations_file
with open(temp_conversations_file, "wb") as f:
pickle.dump(conversations, f)

os.replace(temp_conversations_file, conversations_file)

def exit_handler():
print("Exiting, saving data...")
Expand Down Expand Up @@ -118,17 +129,22 @@ def exit_handler():

sidebar_header = f"Search Results ({len(conversations)})"
else:
conversations = enumerate(st.session_state.conversations)
conversations = st.session_state.conversations
sidebar_header = "Conversation History"

# Sidebar
st.sidebar.header(sidebar_header)

for idx, conversation in conversations:
if st.sidebar.button(f"Conversation {idx + 1}: {conversation['user_inputs'][0]}", key=f"sidebar_btn_{idx}"):
sidebar_col1, sidebar_col2 = st.sidebar.columns([5,1])
for idx, conversation in enumerate(conversations):
if sidebar_col1.button(f"Conversation {idx + 1}: {conversation['user_inputs'][0]}", key=f"sidebar_btn_{idx}"):
st.session_state['selected_conversation'] = idx
st.session_state['current_conversation'] = conversation

if sidebar_col2.button('🗑️', key=f"sidebar_btn_delete_{idx}"):
if st.session_state['selected_conversation'] == idx:
st.session_state['selected_conversation'] = None
st.session_state['current_conversation'] = {'user_inputs': [], 'generated_responses': []}
delete_conversation(conversations, conversation)
st.experimental_rerun()
if st.session_state['selected_conversation'] is not None:
conversation_to_display = conversations[st.session_state['selected_conversation']]
else:
Expand Down

0 comments on commit a25f5d4

Please sign in to comment.