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()