File size: 7,583 Bytes
5fd31aa 2a2cac8 5fd31aa 2a2cac8 70217a9 5fd31aa 61a68fd 2a2cac8 61a68fd 901ba08 2a2cac8 ebc3bbc 2a2cac8 ebc3bbc 2a2cac8 ebc3bbc 377e098 ebc3bbc 2a2cac8 b8597f4 61a68fd b8597f4 61a68fd 901ba08 2a2cac8 ebc3bbc 2a2cac8 ebc3bbc 2a2cac8 377e098 c0a2b6f 70217a9 ad612d8 5fd31aa c0a2b6f 467774d c0a2b6f 467774d c0a2b6f 467774d c0a2b6f ebc3bbc |
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 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 |
import os
import pandas as pd
import chainlit as cl
from pinecone import Pinecone
from chainlit.input_widget import Select, TextInput
from chainlit import user_session
async def connexion_vector_database_secteurs():
os.environ['PINECONE_API_KEY'] = os.environ['PINECONE_API_KEY']
os.environ['PINECONE_INDEX_NAME'] = os.environ['PINECONE_INDEX_NAME']
pc = Pinecone(api_key=os.environ["PINECONE_API_KEY"])
index = pc.Index(index_name=os.environ['PINECONE_INDEX_NAME'])
allsecteurs = index.query(
top_k=515,
vector= [0] * 768, # embedding dimension
namespace='',
include_metadata=True,
include_values=True,
filter={'categorie': {'$eq': 'inpiSecteur'}}
)
secteurs = []
for i in range(0,len(allsecteurs['matches'])):
secteurs.append(str(allsecteurs['matches'][i]['metadata']['activiteprincipale']) + " " + str(allsecteurs['matches'][i]['metadata']['activitesecondaire']))
return secteurs
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()
secteurs_list = await connexion_vector_database_secteurs()
secteurs_list.sort()
secteurs_list.insert(0, "")
df_secteurs = pd.DataFrame(secteurs_list)
cl.user_session.set("arraySettingsComp", 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 |