From e4c541ed0eba79e37a72a2708b372e9d026aadf4 Mon Sep 17 00:00:00 2001 From: liunux4odoo Date: Sat, 12 Aug 2023 17:17:04 +0800 Subject: [PATCH] update webui: switch to new chat after created it --- webui.py | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/webui.py b/webui.py index 9aa5d4b..707a9fa 100644 --- a/webui.py +++ b/webui.py @@ -53,22 +53,23 @@ if __name__ == "__main__": selection = st.session_state[key] st.write(f"Selection changed to {selection}") + def on_page_change(key): + if st.session_state[key] == "新建对话": + new_chat_name = f"对话{len(st.session_state.chat_list) + 1}" + st.session_state.chat_list[new_chat_name] = {"need_rename": True} + st.session_state["cur_chat_name"] = new_chat_name + st.session_state[key] = new_chat_name + else: + st.session_state["cur_chat_name"] = st.session_state[key] + with st.sidebar: selected_page = option_menu( "langchain-chatglm", options=list(pages.keys()), icons=[i["icon"] for i in pages.values()], menu_icon="chat-quote", - # default_index=list(pages.keys()).index(st.session_state["cur_chat_name"]), + key="selected_page", + on_change=on_page_change, ) - if selected_page == "新建对话": - new_chat_name = f"对话{len(st.session_state.chat_list) + 1}" - st.session_state.chat_list[new_chat_name] = {"need_rename": True} - st.session_state["cur_chat_name"] = new_chat_name - st.experimental_rerun() - elif selected_page == "知识库管理": - pages[selected_page]["func"](api) - else: - st.session_state["cur_chat_name"] = selected_page - pages[selected_page]["func"](api) + pages[selected_page]["func"](api)