genaitiwari's picture
teachable agent
4583e4d
import streamlit as st
from configfile import Config # Import the Config class
class LoadStreamlitUI:
def __init__(self):
self.config = Config() # Create a Config instance
self.user_controls = {}
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())
with st.sidebar:
# Get options from config
llm_options = self.config.get_llm_options()
usecase_options = self.config.get_usecase_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")
# Use case selection
self.user_controls["selected_usecase"] = st.selectbox("Select Usecases", usecase_options)
if self.user_controls['selected_usecase'] == "RAG Chat":
st.session_state["docs_path"] = st.text_input("Enter Docs path or filename")
if self.user_controls['selected_usecase'] == "Teachable Agent":
selected_chat_purpose = st.selectbox("Do you want me to ask or teach?",
("Ask", "Teach"))
if selected_chat_purpose == "Ask":
st.session_state["Chat_Purpose"]=True
else :
st.session_state["Chat_Purpose"]=False
else:
if st.sidebar.toggle("Chat With History"):
st.session_state["chat_with_history"]=False
else :
st.session_state["chat_with_history"]=True
if st.sidebar.toggle("LLM Caching"):
st.session_state["Cache_Seed"]=True
else :
st.session_state["Cache_Seed"]=False
if self.user_controls['selected_usecase'] == "With LLamaIndex Tool":
st.subheader("🏝️ Trip Advisor Specialist using wikipedia")
return self.user_controls