Spaces:
Sleeping
Sleeping
File size: 2,714 Bytes
a3d26e6 3a8ddd8 a3d26e6 59ba192 a3d26e6 3a8ddd8 59ba192 3a8ddd8 59ba192 8c27c79 3a8ddd8 f9dd183 d78cf02 3536eb7 d78cf02 a3d26e6 d78cf02 ea96b1d d78cf02 a3d26e6 d78cf02 8b93442 d78cf02 8b93442 3a8ddd8 a3d26e6 720c02e a3d26e6 720c02e a3d26e6 720c02e 59ba192 e49d193 59ba192 a3d26e6 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 |
import streamlit as st
import os
from dotenv import load_dotenv
from rag import Rag
from vectore_store.PineconeConnector import PineconeConnector
from vectore_store.VectoreStoreManager import VectoreStoreManager
from util import getYamlConfig
load_dotenv()
GROUP_NAME = os.environ.get("APP_NAME")
LOGO = "assets/logo.png"
def init_app():
config = getYamlConfig()
query_params = st.query_params
if "user" in query_params:
st.session_state["id_user"] = query_params["user"]
# Initialize session state keys if they are not already defined
if "retrived_documents" not in st.session_state:
st.session_state["retrived_documents"] = []
if "messages" not in st.session_state:
st.session_state["messages"] = []
if "remove_undefined_value" not in st.session_state:
st.session_state["remove_undefined_value"] = True
if "assistant" not in st.session_state:
# Define Vectore store strategy
pinecone_connector = PineconeConnector()
vs_manager = VectoreStoreManager(pinecone_connector)
st.session_state["assistant"] = Rag(vectore_store=vs_manager)
if "data_dict" not in st.session_state:
if 'parts' in config['variables']:
# Flatten structure by adding part name to each field
st.session_state["data_dict"] = [
{**field, "part": part["name"]}
for part in config["variables"]["parts"]
for field in part["fields"]
]
else:
# Initialize session state with single list of variables
st.session_state["data_dict"] = [{**field} for field in config["variables"]]
if "prompt_system" not in st.session_state:
st.session_state["prompt_system"] = config['prompt_system']
def main():
init_app()
st.set_page_config(page_title=GROUP_NAME)
st.logo(LOGO)
st.title(GROUP_NAME)
saved_documents = st.Page("pages/persistent_documents.py", title="Communs", icon="🗃️")
documents = st.Page("pages/documents.py", title="Vos documents", icon="📂")
prompt_system = st.Page("pages/prompt_system.py", title="Prompt système", icon="🖊️", default=True)
form = st.Page("pages/form.py", title="Paramètres", icon="📋")
chatbot = st.Page("pages/chatbot.py", title="Chatbot", icon="🤖")
pg = st.navigation(
{
"Documents": [
saved_documents,
documents,
],
"Configurations": [
prompt_system,
form,
],
"Dialogue": [
chatbot
],
}
)
pg.run()
if __name__ == "__main__":
main() |