File size: 1,604 Bytes
a3d26e6
 
 
3a8ddd8
a3d26e6
 
 
 
 
3a8ddd8
 
 
 
 
 
 
 
 
 
 
a3d26e6
 
 
 
 
 
 
3a8ddd8
 
 
 
 
 
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
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


load_dotenv()

GROUP_NAME = os.environ.get("APP_NAME")

def init_app():
    
    # Read the environment variable and create a dictionary
    variables = os.environ.get('VARIABLES')
    keys = variables.split(',')
    data_dict = {key: '' for key in keys}  # Initialize with empty values

    if len(st.session_state) == 0:
        # Define Vectore store strategy
        pinecone_connector = PineconeConnector()
        vs_manager = VectoreStoreManager(pinecone_connector)

        st.session_state["messages"] = []
        st.session_state["assistant"] = Rag(vectore_store=vs_manager)
        st.session_state["data_dict"] = data_dict


def main():

    init_app()

    st.set_page_config(page_title=GROUP_NAME)

    st.title(GROUP_NAME)

    prompt_system = st.Page("pages/prompt_system.py", title="Prompt système", icon="📋", default=True)
    saved_documents = st.Page("pages/persistent_documents.py", title="Documents Communs", icon="📋")
    documents = st.Page("pages/documents.py", title="Documents", icon="📋")
    form = st.Page("pages/form.py", title="Formulaire", icon="📋")
    chatbot = st.Page("pages/chatbot.py", title="Chatbot", icon="📋")

    pg = st.navigation(
        [
            saved_documents,
            prompt_system,
            documents,
            form,
            chatbot
        ]
    )

    pg.run()


if __name__ == "__main__":
    main()