Spaces:
Running
Running
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() |