CoolFace
Apppublic

ankitpatil3003/Basic-AI-Chatbot-using-Langgraph

sourceHugging Faceapache-2.0updated 2y agoView on Hugging Face
1likes
loadui.py66 linesDownload Raw Back to streamlitui
1import streamlit as st2import os3from datetime import date4 5from langchain_core.messages import AIMessage,HumanMessage6from src.langgraphagenticai.ui.uiconfigfile import Config7 8 9class LoadStreamlitUI:10    def __init__(self):11        self.config =  Config() # config12        self.user_controls = {}13 14    def initialize_session(self):15        return {16        "current_step": "requirements",17        "requirements": "",18        "user_stories": "",19        "po_feedback": "",20        "generated_code": "",21        "review_feedback": "",22        "decision": None23    }24 25    def load_streamlit_ui(self):26        st.set_page_config(page_title= "🤖 " + self.config.get_page_title(), layout="wide")27        st.header("🤖 " + self.config.get_page_title())28        st.session_state.timeframe = ''29        st.session_state.IsFetchButtonClicked = False30        st.session_state.IsSDLC = False31 32 33        with st.sidebar:34            # Get options from config35            llm_options = self.config.get_llm_options()36            usecase_options = self.config.get_usecase_options()37 38            # LLM selection39            self.user_controls["selected_llm"] = st.selectbox("Select LLM", llm_options)40 41            if self.user_controls["selected_llm"] == 'Groq':42                # Model selection43                model_options = self.config.get_groq_model_options()44                self.user_controls["selected_groq_model"] = st.selectbox("Select Model", model_options)45                # API key input46                self.user_controls["GROQ_API_KEY"] = st.session_state["GROQ_API_KEY"] = st.text_input("API Key",47                                                                                                      type="password")48                # Validate API key49                if not self.user_controls["GROQ_API_KEY"]:50                    st.warning("⚠️ Please enter your GROQ API key to proceed. Don't have? refer : https://console.groq.com/keys ")51 52            # Use case selection53            self.user_controls["selected_usecase"] = st.selectbox("Select Usecases", usecase_options)54 55            if self.user_controls["selected_usecase"] =="Chatbot with Tool":56                # API key input57                os.environ["TAVILY_API_KEY"] = self.user_controls["TAVILY_API_KEY"] = st.session_state["TAVILY_API_KEY"] = st.text_input("TAVILY API KEY",58                                                                                                      type="password")59                # Validate API key60                if not self.user_controls["TAVILY_API_KEY"]:61                    st.warning("⚠️ Please enter your TAVILY_API_KEY key to proceed. Don't have? refer : https://app.tavily.com/home")62 63            if "state" not in st.session_state:64                st.session_state.state = self.initialize_session()65 66        return self.user_controls