File size: 2,187 Bytes
f676a1d 64f9ede f676a1d 64f9ede f676a1d 64f9ede f676a1d 64f9ede f676a1d 64f9ede f676a1d 64f9ede f676a1d 7676537 f676a1d 64f9ede f676a1d 64f9ede 7676537 f676a1d ce8e938 f676a1d 64f9ede f676a1d 64f9ede f676a1d 64f9ede f676a1d 64f9ede 7676537 e9e1fd3 6730be3 e9e1fd3 64f9ede 6730be3 e9e1fd3 6730be3 e9e1fd3 64f9ede f676a1d 64f9ede f676a1d ce8e938 |
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 |
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()
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"] = config['variables']
st.session_state["prompt_system"] = config['prompt_system']
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"]]
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="Documents de référence", icon="🗃️")
documents = st.Page("pages/documents.py", title="Documents de l'exploitation", icon="📂")
prompt_system = st.Page("pages/prompt_system.py", title="Prompt conseiller", icon="🖊️")
# form = st.Page("pages/form.py", title="Paramètres", icon="📋")
chatbot = st.Page("pages/chatbot.py", title="Chatbot", icon="🤖", default=True)
pg = st.navigation(
{
"Céréalier": [
chatbot
],
"Conseiller": [
saved_documents,
documents,
prompt_system,
],
}
)
pg.run()
if __name__ == "__main__":
main()
|