import pandas as pd import chainlit as cl from chainlit.input_widget import Select, TextInput from chainlit import user_session def homemsg(): 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() async def homeRome(): homemsg() 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) return contextChat async def homeEsco(): homemsg() 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) return contextChat