import streamlit as st from pages import ( render_home, render_dashboard, render_analytics, render_brainstorm_page, render_chat ) from chatbot import ChatbotManager # Import the new ChatbotManager def main(): st.set_page_config( page_title="Prospira", page_icon="🚀", layout="centered", initial_sidebar_state="expanded" ) # Initialize the chatbot manager (will load the model) chatbot_manager = ChatbotManager() # Sidebar configuration with st.sidebar: st.image("https://via.placeholder.com/150x50?text=Prospira", width=150) st.title("Navigation") # Create a selection box to choose between pages page = st.radio("Select a page", ["Home", "Dashboard", "Analytics", "Brainstorm", "Chat"], label_visibility="collapsed") st.markdown("---") st.caption(f"Model: Blenderbot-400M") st.caption(f"Running on: {'GPU' if torch.cuda.is_available() else 'CPU'}") # Page routing if page == "Home": render_home() elif page == "Dashboard": render_dashboard() elif page == "Analytics": render_analytics() elif page == "Brainstorm": render_brainstorm_page() elif page == "Chat": # Pass the chatbot manager to the chat page render_chat(chatbot_manager) if __name__ == "__main__": # Add torch import at runtime if not using it elsewhere import torch main()