Spaces:
Sleeping
Sleeping
| import streamlit as st | |
| from blogGenerator.ui.uiconfigfile import Config | |
| class LoadStreamlitUI: | |
| def __init__(self): | |
| self.config = Config() | |
| self.user_controls = {} | |
| def initialize_session(self): | |
| return { | |
| "current_step": "requirements", | |
| } | |
| def load_streamlit_ui(self): | |
| st.set_page_config( | |
| page_title="π " + self.config.get_page_title(), layout="wide" | |
| ) | |
| st.header("π " + self.config.get_page_title()) | |
| # st.session_state.timeframe = "" | |
| # st.session_state.IsFetchButtonClicked = False | |
| # st.session_state.IsSDLC = False | |
| with st.sidebar: | |
| # Get options from config | |
| llm_options = self.config.get_llm_options() | |
| # LLM selection | |
| self.user_controls["selected_llm"] = st.selectbox("Select LLM", llm_options) | |
| if self.user_controls["selected_llm"] == "Groq": | |
| # Model selection | |
| model_options = self.config.get_groq_model_options() | |
| self.user_controls["selected_groq_model"] = st.selectbox( | |
| "Select Model", model_options | |
| ) | |
| # API key input | |
| self.user_controls["GROQ_API_KEY"] = st.session_state[ | |
| "GROQ_API_KEY" | |
| ] = st.text_input( | |
| "API Key", | |
| type="password", | |
| ) | |
| # Validate API key | |
| if not self.user_controls["GROQ_API_KEY"]: | |
| st.warning( | |
| "β οΈ Please enter your GROQ API key to proceed. Don't have? refer : https://console.groq.com/keys " | |
| ) | |
| if "state" not in st.session_state: | |
| st.session_state.state = self.initialize_session() | |
| return self.user_controls | |