Spaces:
Runtime error
Runtime error
| import random | |
| import streamlit as st | |
| from taai_demo.ui.access_page import access_page | |
| from taai_demo.ui.chat_page import chat_page | |
| from taai_demo.ui.search_page import search_page | |
| from taai_demo.ui.upload_page import upload_page | |
| from taai_demo.ui.state_management import transition_state | |
| from taai_demo.settings import Settings | |
| def initialize_state(name, default): | |
| if name not in st.session_state: | |
| st.session_state[name] = default | |
| def render_state(): | |
| states = { | |
| "access": access_page, | |
| "chat": chat_page, | |
| "search": search_page, | |
| "upload": upload_page, | |
| } | |
| states[st.session_state.state]() | |
| def main(): | |
| initialize_state("authorized", False) | |
| initialize_state("state", "access") | |
| initialize_state("chat_history", []) | |
| initialize_state("semantic_search_wrapper", None) | |
| initialize_state("settings", Settings()) | |
| initialize_state("message_seed", random.randint(0, 1e3)) | |
| if st.session_state.state in ("chat", "search"): | |
| new_state = st.sidebar.selectbox("Choose a demo", ["Search", "Chat"]) | |
| transition_state(new_state.lower()) | |
| if st.button("Reupload File"): | |
| transition_state("upload") | |
| render_state() | |
| if __name__ == "__main__": | |
| main() | |