Update main.py
Browse files
main.py
CHANGED
@@ -276,6 +276,19 @@ def rename(orig_author: str):
|
|
276 |
rename_dict = {"ConversationalRetrievalChain": "💬 Assistant conversationnel", "Retriever": "Agent conversationnel", "StuffDocumentsChain": "Chaîne de documents", "LLMChain": "Agent", "HuggingFaceEndpoint": "Mistral AI 🤖"}
|
277 |
return rename_dict.get(orig_author, orig_author)
|
278 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
279 |
@cl.action_callback("download")
|
280 |
async def on_action(action):
|
281 |
content = []
|
@@ -404,7 +417,7 @@ async def construction_NCS(competenceList):
|
|
404 |
listEmplois = finals_df.values.tolist()
|
405 |
stringEmplois = ''
|
406 |
for i in range(0,len(listEmplois)):
|
407 |
-
stringEmplois += "\n✔️ Emploi : " + str(listEmplois[i][0]) + ";\n◉ Contrat : " + str(listEmplois[i][1]) + ";\n◉Compétences professionnelles : " + str(listEmplois[i][3]) + ";\n" + "◉ Salaire : " + str(listEmplois[i][6]) + ";\n◉ Qualification : " + str(listEmplois[i][5]) + ";\n◉ Localisation : " + str(listEmplois[i][7]) + ";\n◉ Expérience : " + str(listEmplois[i][2]) + ";\n◉ Niveau de qualification : " + str(listEmplois[i][8]) + ";\n◉ Description de l'emploi : " + str(listEmplois[i][4]) + "\n"
|
408 |
await cl.sleep(1)
|
409 |
listEmplois_name = f"Liste des emplois"
|
410 |
text_elements = []
|
@@ -420,6 +433,11 @@ async def construction_NCS(competenceList):
|
|
420 |
)
|
421 |
await cl.Message(author="Datapcc : 🌐🌐🌐",content="📈 Source France Travail : " + listClesMetier_name, elements=text_ClesMetier).send()
|
422 |
await cl.sleep(1)
|
|
|
|
|
|
|
|
|
|
|
423 |
codeArray = romeListArray
|
424 |
ficheMetiers = []
|
425 |
for i in range(0,len(codeArray)):
|
@@ -503,7 +521,7 @@ async def document_chiffres_cles_emplois(url, codes):
|
|
503 |
allentreprise = removeTags(allEntreprise[0])
|
504 |
else:
|
505 |
allentreprise = ""
|
506 |
-
all = all + "\n\nChiffres-clés Métier " + allTitre + "
|
507 |
return all
|
508 |
|
509 |
@cl.step(type="tool")
|
|
|
276 |
rename_dict = {"ConversationalRetrievalChain": "💬 Assistant conversationnel", "Retriever": "Agent conversationnel", "StuffDocumentsChain": "Chaîne de documents", "LLMChain": "Agent", "HuggingFaceEndpoint": "Mistral AI 🤖"}
|
277 |
return rename_dict.get(orig_author, orig_author)
|
278 |
|
279 |
+
@cl.action_callback("datavizChiffresClesMetiers")
|
280 |
+
async def on_action(action):
|
281 |
+
romeListArray = action.value
|
282 |
+
for j in range(0, len(romeListArray)):
|
283 |
+
table = await datavisualisation_chiffres_cles_emplois("https://dataemploi.pole-emploi.fr/metier/chiffres-cles/NAT/FR/" + romeListArray[j])
|
284 |
+
plot_demandeur = plotDemandeur(htmlToDataframe(table[0]), romeListArray[j])
|
285 |
+
if len(table[1]) > 0:
|
286 |
+
plot_salaire = plotSalaire(htmlToDataframe(table[1]))
|
287 |
+
plot_difficulte = plotDifficulte(htmlToDataframe(table[2]))
|
288 |
+
plot_repartitionContrat = plotRepartition(htmlToDataframe(table[3]), "Répartition des embauches du métier : type de contrat")
|
289 |
+
plot_repartitionEntreprise = plotRepartition(htmlToDataframe(table[4]), "Répartition des embauches du métier : type entreprise")
|
290 |
+
|
291 |
+
|
292 |
@cl.action_callback("download")
|
293 |
async def on_action(action):
|
294 |
content = []
|
|
|
417 |
listEmplois = finals_df.values.tolist()
|
418 |
stringEmplois = ''
|
419 |
for i in range(0,len(listEmplois)):
|
420 |
+
stringEmplois += "\n✔️ Emploi : " + str(listEmplois[i][0]) + ";\n◉ Contrat : " + str(listEmplois[i][1]) + ";\n◉ Compétences professionnelles : " + str(listEmplois[i][3]) + ";\n" + "◉ Salaire : " + str(listEmplois[i][6]) + ";\n◉ Qualification : " + str(listEmplois[i][5]).replace("'libelle'","\n• 'libelle") + ";\n◉ Localisation : " + str(listEmplois[i][7]) + ";\n◉ Expérience : " + str(listEmplois[i][2]) + ";\n◉ Niveau de qualification : " + str(listEmplois[i][8]) + ";\n◉ Description de l'emploi : " + str(listEmplois[i][4]) + "\n"
|
421 |
await cl.sleep(1)
|
422 |
listEmplois_name = f"Liste des emplois"
|
423 |
text_elements = []
|
|
|
433 |
)
|
434 |
await cl.Message(author="Datapcc : 🌐🌐🌐",content="📈 Source France Travail : " + listClesMetier_name, elements=text_ClesMetier).send()
|
435 |
await cl.sleep(1)
|
436 |
+
datavizChiffresClesMetiers = [
|
437 |
+
cl.Action(name="datavizChiffresClesMetiers", value=romeListArray, description="Afficher la datavisualisation des chiffres clés des métiers")
|
438 |
+
]
|
439 |
+
await cl.Message(author="Datapcc : 🌐🌐🌐",content="📊 Afficher la datavisualisation des chiffres clés des métiers", actions=datavizChiffresClesMetiers).send()
|
440 |
+
await cl.sleep(1)
|
441 |
codeArray = romeListArray
|
442 |
ficheMetiers = []
|
443 |
for i in range(0,len(codeArray)):
|
|
|
521 |
allentreprise = removeTags(allEntreprise[0])
|
522 |
else:
|
523 |
allentreprise = ""
|
524 |
+
all = all + "\n\nChiffres-clés Métier : \n**" + allTitre + "**:\n◉ Demandeurs d'emploi et Offres d'emploi : " + allEmbauches.replace("Plus de données sur les Demandeurs d'emploi","").replace("Plus de données","") + ".\n◉ Salaires proposés dans les offres : " + allSalaires + ".\n◉ Salaires médians constatés : " + allSalairesMedian + ".\n◉ Difficultés de recrutement pour les entreprises : " + alldiff + ".\n◉ Origine des difficultés : " + alldiffOrigin + ".\n◉ Répartition des embauches par type de contrat : " + allTypeContrat + ".\n◉ Répartition des embauches par taille d'entreprise : " + allentreprise + "."
|
525 |
return all
|
526 |
|
527 |
@cl.step(type="tool")
|