Spaces:
Sleeping
Sleeping
| """Main Streamlit application for LegisQA""" | |
| import streamlit as st | |
| from legisqa_local.config.settings import STREAMLIT_CONFIG, setup_environment | |
| from legisqa_local.components.sidebar import render_sidebar | |
| from legisqa_local.tabs.rag_tab import RAGTab | |
| from legisqa_local.tabs.rag_sbs_tab import RAGSideBySideTab | |
| from legisqa_local.tabs.guide_tab import GuideTab | |
| def main(): | |
| """Main application function""" | |
| # Configure Streamlit | |
| st.set_page_config(**STREAMLIT_CONFIG) | |
| # Setup environment | |
| setup_environment() | |
| # Main content | |
| st.title(":classical_building: LegisQA :classical_building:") | |
| st.header("Query Congressional Bills") | |
| # Sidebar | |
| with st.sidebar: | |
| render_sidebar() | |
| # Create tab instances | |
| rag_tab = RAGTab() | |
| rag_sbs_tab = RAGSideBySideTab() | |
| guide_tab = GuideTab() | |
| # Create tabs | |
| query_rag_tab, query_rag_sbs_tab, guide_tab_ui = st.tabs([ | |
| rag_tab.name, | |
| rag_sbs_tab.name, | |
| guide_tab.name, | |
| ]) | |
| # Render tab content | |
| with query_rag_tab: | |
| rag_tab.render() | |
| with query_rag_sbs_tab: | |
| rag_sbs_tab.render() | |
| with guide_tab_ui: | |
| guide_tab.render() | |
| if __name__ == "__main__": | |
| main() | |