import streamlit as st import app_utils as a_t from tabs.home import home_tab from tabs.play import playground_tab from tabs.generate import generate_code_tab
def session_add(key, value, is_func=False):
""" Adds a key-value pair to the session state.
Args: - key (str): The key to add to the session state. - value (str): The value to add to the session state. - is_func (bool): If True, calls the function `value` and adds the result to the session state. """ if key not in st.session_state: if is_func: st.session_state[key] = value() else: st.session_state[key] = value
def init_keys():
"""Initializes session keys.""" # All new session variables should be added here. session_add("chroma_persisted", False) session_add("vector_selection", "FAISS") session_add("agent_selection", "🧑🔧 technical") session_add("embedding_model", "HuggingFaceEmbeddings") session_add("chunk_size", 1000) session_add("chunk_overlap", 100) session_add("messages", []) session_add("model_temperature", 0.3) session_add("store", {}) session_add("search_type", "similarity") session_add("k", 4) session_add("fetch_k", 20) session_add("lambda_mult", 0.5) session_add("score_threshold", 0.5) session_add("history_unaware", False) session_add("search_kwargs", {})
def render_site():
"""Configures and displays the landing page.""" st.set_page_config("Document checker", page_icon="👁️🗨️") with open("tabs/custom.css") as f: st.markdown(f'<style>{f.read()}</style>', unsafe_allow_html=True) st.title("Knowledge base LLM 💬") st.text("Chat with your PDF file using the LLM of your choice") st.write( Usage: 1. export or define your UNIFY_KEY 2. Select the **Model** and endpoint provider of your choice from the drop down. 3. Upload your document(s) and click the Submit button 4. Chat )
for message in st.session_state.messages: st.chat_message('human').write(message[0]) st.chat_message('assistant').write(message[1]) with st.sidebar: tab1, tab2, tab3 = st.tabs(["🏠Home", "🕹️Tuning", "👾Code"]) with tab1: home_tab() with tab2: playground_tab() with tab3: generate_code_tab() a_t.chat_bot()
def main():
st.set_page_config(page_title="audit compliance check",page_icon=":books:") st.header("metric comparison") st.text_input("ask a question") with st.sidebar: st.subheader("read doc") st.file_uploader("upload pdf")
if __name__ == '__main__':
init_keys() render_site()