import pandas as pd import chainlit as cl from chainlit.input_widget import Select, TextInput from chainlit import user_session async def homeRome(): app_user = cl.user_session.get("user") welcomeUser = app_user.identifier welcomeUserArray = welcomeUser.split('@') welcomeUserStr = welcomeUserArray[0].replace('.',' ') await cl.Message(f"> Bonjour {welcomeUserStr}").send() fileCompetences = "./public/referentiel_competence.csv" df_allcompetences = pd.read_csv(fileCompetences) df_competences = df_allcompetences[['libelle_competence']].copy() df_competences = df_competences.sort_values(by=['libelle_competence']) competences_list = df_competences['libelle_competence'].tolist() competences_list.sort() competences_list.insert(0, "") cl.user_session.set("arraySettingsComp", competences_list) settings = await cl.ChatSettings( [ Select( id="competence", label="Compétences", values=competences_list, initial_index=0, ), TextInput(id="competenceInput", label="ou saisir une compétence voire des objectifs pédagogiques", placeholder="ou saisir une compétence voire des objectifs pédagogiques", tooltip="saisir une compétence voire des objectifs pédagogiques"), ] ).send() value = settings["competence"] if len(value) < 2: warning = [ cl.Image(name="Warning", size="small", display="inline", path="./public/warning.png") ] await cl.Message(author="Datapcc : 🌐🌐🌐",content="1️⃣ Cliquez sur le bouton dont l'image suit, dans le prompt, pour commencer à élaborer une note sectorielle de la chaîne documentaire APCC!").send() await cl.Message(author="Datapcc : 🌐🌐🌐",content="", elements=warning).send() await cl.Message(author="Datapcc : 🌐🌐🌐",content="2️⃣ Puis sélectionnez ou saisissez une compétence ou des objectifs pédagogiques. Et vous êtes prêt!\n\n🔗 Plateforme de feedback et de fil d'activité : https://cloud.getliteral.ai/").send() contextChat = cl.user_session.get("contextChatBot") if not contextChat: contextChat = df_competences.to_string(index = False) cl.user_session.set("contextDFCOMPChatBot", df_competences.to_string(index = False)) return contextChat async def homeEsco(): app_user = cl.user_session.get("user") welcomeUser = app_user.identifier welcomeUserArray = welcomeUser.split('@') welcomeUserStr = welcomeUserArray[0].replace('.',' ') await cl.Message(f"> Bonjour {welcomeUserStr}").send() fileCompetences = "./public/escoCompetencesAppellation.csv" df_allcompetences = pd.read_csv(fileCompetences) df_competences = df_allcompetences[['compétence']].copy() df_competences = df_competences.sort_values(by=['compétence']) competences_list = df_competences['compétence'].tolist() competences_list.sort() competences_list.insert(0, "") cl.user_session.set("arraySettingsComp", competences_list) settings = await cl.ChatSettings( [ Select( id="competence", label="Compétences", values=competences_list, initial_index=0, ), TextInput(id="competenceInput", label="ou saisir une compétence voire un métier en lien avec le développement durable", placeholder="ou saisir une compétence voire un métier en lien avec le développement durable", tooltip="saisir une compétence voire un métier en lien avec le développement durable"), ] ).send() value = settings["competence"] if len(value) < 2: warning = [ cl.Image(name="Warning", size="small", display="inline", path="./public/warning.png") ] await cl.Message(author="Datapcc : 🌐🌐🌐",content="1️⃣ Cliquez sur le bouton dont l'image suit, dans le prompt, pour commencer à élaborer une analyse des compétences liées au développement durable!").send() await cl.Message(author="Datapcc : 🌐🌐🌐",content="", elements=warning).send() await cl.Message(author="Datapcc : 🌐🌐🌐",content="2️⃣ Puis sélectionnez ou saisissez une compétence ou un métier en lien avec le développement durable. Et vous êtes prêt!\n\n🔗 Plateforme de feedback et de fil d'activité : https://cloud.getliteral.ai/").send() contextChat = cl.user_session.get("contextChatBot") if not contextChat: contextChat = df_competences.to_string(index = False) cl.user_session.set("contextDFCOMPChatBot", df_competences.to_string(index = False)) return contextChat async def homeRne(): app_user = cl.user_session.get("user") welcomeUser = app_user.identifier welcomeUserArray = welcomeUser.split('@') welcomeUserStr = welcomeUserArray[0].replace('.',' ') await cl.Message(f"> Bonjour {welcomeUserStr}").send() fileSecteurs = "./public/secteurs_codes.csv" df_allsecteurs = pd.read_csv(fileSecteurs, sep=";", encoding='latin1') df_allsecteurs['libelle_secteur'] = df_allsecteurs[df_allsecteurs.columns[0:2]].apply( lambda x: '; '.join(x.dropna().astype(str)), axis=1 ) df_secteurs = df_allsecteurs[['libelle_secteur']].copy() df_secteurs = df_secteurs.sort_values(by=['libelle_secteur']) secteurs_list = df_secteurs['libelle_secteur'].tolist() secteurs_list.sort() secteurs_list.insert(0, "") cl.user_session.set("arraySettingsRne", secteurs_list) settings = await cl.ChatSettings( [ Select( id="competence", label="Secteurs", values=secteurs_list, initial_index=0, ), TextInput(id="competenceInput", label="ou saisir un secteur d'activités", placeholder="ou saisir un secteur d'activités", tooltip="saisir un secteur d'activités"), ] ).send() value = settings["competence"] if len(value) < 2: warning = [ cl.Image(name="Warning", size="small", display="inline", path="./public/warning.png") ] await cl.Message(author="Datapcc : 🌐🌐🌐",content="1️⃣ Cliquez sur le bouton dont l'image suit, dans le prompt, pour commencer à élaborer une liste d'entreprises du secteur d'activités de votre choix!").send() await cl.Message(author="Datapcc : 🌐🌐🌐",content="", elements=warning).send() await cl.Message(author="Datapcc : 🌐🌐🌐",content="2️⃣ Puis sélectionnez ou saisissez un secteur d'activités. Et vous êtes prêt!\n\n🔗 Plateforme de feedback et de fil d'activité : https://cloud.getliteral.ai/").send() contextChat = cl.user_session.get("contextChatBot") if not contextChat: contextChat = df_secteurs.to_string(index = False) cl.user_session.set("contextDFCOMPChatBot", df_secteurs.to_string(index = False)) return contextChat