Ludovicollin commited on
Commit
0b5de36
·
1 Parent(s): f0f0690

Update main.py

Browse files
Files changed (1) hide show
  1. main.py +90 -4
main.py CHANGED
@@ -184,7 +184,7 @@ async def start():
184
  Select(
185
  id="type",
186
  label="Type de fiche",
187
- values=["", "Note de composante sectorielle - NCS", "Fiche synoptique - FCS", "Fiche activité - FCA", "Fiche compétence - FCC", "Module de formation - cours - MDF", "Référentiel d'évaluation - REV", "Matrice de cohérences - MDC"],
188
  initial_index=0,
189
  ),
190
  ]
@@ -375,7 +375,7 @@ async def setup_agent(settings):
375
  Select(
376
  id="type",
377
  label="Type de fiche",
378
- values=["", "Note de composante sectorielle - NCS", "Fiche synoptique - FCS", "Fiche activité - FCA", "Fiche compétence - FCC", "Module de formation - cours - MDF", "Référentiel d'évaluation - REV", "Matrice de cohérences - MDC"],
379
  initial_index=2,
380
  ),
381
  Select(
@@ -398,12 +398,13 @@ async def setup_agent(settings):
398
  ).send()
399
  cl.user_session.set("FCS" + romeListArray[0], completion_FCS.completion)
400
  cl.user_session.set("contextChatBot", completion_FCS.completion)
401
- await cl.sleep(2)
402
- await FCS.remove()
403
  actions = [
404
  cl.Action(name="download", value=completion_FCS.completion, description="download_fiche_synoptique")
405
  ]
406
  await cl.Message(author="🌐🌐🌐",content="Download", actions=actions).send()
 
 
 
407
  else:
408
  await cl.Message(
409
  author="🌐🌐🌐",content="⛔ Vous n'avez pas encore créé de Note sectorielle!"
@@ -494,6 +495,91 @@ async def setup_agent(settings):
494
  await cl.Message(
495
  author="🌐🌐🌐",content="⛔ Vous n'avez pas encore créé de Fiche synoptique!"
496
  ).send()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
497
  os.environ['ANTHROPIC_API_KEY'] = os.environ['ANTHROPIC_API_KEY']
498
  contextChat = cl.user_session.get("contextChatBot")
499
  if not contextChat:
 
184
  Select(
185
  id="type",
186
  label="Type de fiche",
187
+ values=["", "Note de composante sectorielle - NCS", "Fiche synoptique - FCS", "Fiche activité - FCA", "Fiche compétence - FCC", "Module de formation - cours - MDF", "Matrice de cohérences - MDC", "Référentiel d'évaluation - REV"],
188
  initial_index=0,
189
  ),
190
  ]
 
375
  Select(
376
  id="type",
377
  label="Type de fiche",
378
+ values=["", "Note de composante sectorielle - NCS", "Fiche synoptique - FCS", "Fiche activité - FCA", "Fiche compétence - FCC", "Module de formation - cours - MDF", "Matrice de cohérences - MDC", "Référentiel d'évaluation - REV"],
379
  initial_index=2,
380
  ),
381
  Select(
 
398
  ).send()
399
  cl.user_session.set("FCS" + romeListArray[0], completion_FCS.completion)
400
  cl.user_session.set("contextChatBot", completion_FCS.completion)
 
 
401
  actions = [
402
  cl.Action(name="download", value=completion_FCS.completion, description="download_fiche_synoptique")
403
  ]
404
  await cl.Message(author="🌐🌐🌐",content="Download", actions=actions).send()
405
+ await cl.sleep(2)
406
+ await FCS.remove()
407
+ cl.user_session.set("allskills", arrayOfCompetences[1])
408
  else:
409
  await cl.Message(
410
  author="🌐🌐🌐",content="⛔ Vous n'avez pas encore créé de Note sectorielle!"
 
495
  await cl.Message(
496
  author="🌐🌐🌐",content="⛔ Vous n'avez pas encore créé de Fiche synoptique!"
497
  ).send()
498
+ elif settings['type'] == 'Module de formation - cours - MDF':
499
+ if cl.user_session.get("FCS" + romeListArray[0]) and cl.user_session.get("allskills"):
500
+ allcompetences = cl.user_session.get('allskills')
501
+ MDF = cl.TaskList()
502
+ MDF.status = "Running..."
503
+ taskMDF1 = cl.Task(title="Chargement des données de la fiche synoptique, en attente...", status=cl.TaskStatus.RUNNING)
504
+ await MDF.add_task(taskMDF1)
505
+ taskMDF2 = cl.Task(title="Connexion au modèle d'Intelligence Artificielle, en attente...", status=cl.TaskStatus.RUNNING)
506
+ await MDF.add_task(taskMDF2)
507
+ message_id9 = await cl.Message(content="🕝 Récupération de la fiche synoptique et des compétences afférentes").send()
508
+ taskMDF1.forId = message_id9
509
+ await MDF.send()
510
+ question = f"En fonction du contexte qui suit. Contexte : liste des compétences professionnelles : {allcompetences}. Crée un ensemble de 10 modules de formations, très détaillé et très complèt, entrecoupés eux-mêmes de 5 cours, en corrélation avec les compétences précédentes, en langue française seulement et exclusivement, jusqu'à 4000 mots. Réponds et restitue la réponse au format tableau de 10 lignes correspondant aux 10 compétences et de 2 colonnes, plus le header"
511
+ taskMDF1.status = cl.TaskStatus.DONE
512
+ await MDF.send()
513
+ message_id10 = await cl.Message(content="🕝 Construction des Modules de formation - cours").send()
514
+ taskMDF2.forId = message_id10
515
+ await MDF.send()
516
+ completion_MDF = anthropic.completions.create(
517
+ model="claude-2.1",
518
+ max_tokens_to_sample=4000,
519
+ temperature=1,
520
+ prompt=f"Réponds à la question suivante en utilisant seulement le contexte ci-contre. Réponds à la manière d'un ingénieur pédagogique pour créer un référentiel. Si vous ne pouvez pas répondre à la question sur la base des informations, dites que vous ne trouvez pas de réponse ou que vous ne parvenez pas à trouver de réponse. Essayez donc de comprendre en profondeur le contexte et répondez uniquement en vous basant sur les informations fournies. Ne générez pas de réponses non pertinentes.${HUMAN_PROMPT}. Questions : {question}${AI_PROMPT}",
521
+ )
522
+ taskMDF2.status = cl.TaskStatus.DONE
523
+ await MDF.send()
524
+ await cl.sleep(2)
525
+ await cl.Message(
526
+ author="🌐🌐🌐",content="Modules de formations :\n\n" + completion_MDF.completion
527
+ ).send()
528
+ cl.user_session.set("MDF" + romeListArray[0], completion_MDF.completion)
529
+ cl.user_session.set("contextChatBot", completion_MDF.completion)
530
+ actions = [
531
+ cl.Action(name="download", value=completion_MDF.completion, description="download_module_formation")
532
+ ]
533
+ await cl.Message(author="🌐🌐🌐",content="Download", actions=actions).send()
534
+ await cl.sleep(2)
535
+ await MDF.remove()
536
+ else:
537
+ await cl.Message(
538
+ author="🌐🌐🌐",content="⛔ Vous n'avez pas encore créé de Fiche synoptique!"
539
+ ).send()
540
+ elif settings['type'] == 'Matrice de cohérences - MDC':
541
+ if cl.user_session.get("FCS" + romeListArray[0]) and cl.user_session.get("allskills") and cl.user_session.get("MDF" + romeListArray[0]):
542
+ allcompetences = cl.user_session.get('allskills')
543
+ allmodules = cl.user_session.get("MDF" + romeListArray[0])
544
+ MDC = cl.TaskList()
545
+ MDC.status = "Running..."
546
+ taskMDC1 = cl.Task(title="Chargement des données de la fiche synoptique, en attente...", status=cl.TaskStatus.RUNNING)
547
+ await MDC.add_task(taskMDC1)
548
+ taskMDC2 = cl.Task(title="Connexion au modèle d'Intelligence Artificielle, en attente...", status=cl.TaskStatus.RUNNING)
549
+ await MDC.add_task(taskMDC2)
550
+ message_id11 = await cl.Message(content="🕝 Récupération de la fiche synoptique et des modules de formation").send()
551
+ taskMDC1.forId = message_id11
552
+ await MDC.send()
553
+ question = f"En fonction du contexte qui suit. Contexte : liste des compétences professionnelles : {allcompetences}. liste des modules de formation et des cours : {allmodules}. Crée une matrice de cohérence en fonction des modules de formation, des cours précédents et des compétences précédentes, sous la forme d'un tableau à double entrée, exploitable dans le logiciel Excel, en respectant tous les intitulés, et rempli par des coches entre les modules, les cours et les compétences correspondantes, en langue française seulement et exclusivement, jusqu'à 4000 mots. Réponds et restitue la matrice de cohérences au format tableau"
554
+ taskMDC1.status = cl.TaskStatus.DONE
555
+ await MDC.send()
556
+ message_id12 = await cl.Message(content="🕝 Construction de la Matrice de cohérences").send()
557
+ taskMDC2.forId = message_id12
558
+ await MDC.send()
559
+ completion_MDC = anthropic.completions.create(
560
+ model="claude-2.1",
561
+ max_tokens_to_sample=4000,
562
+ temperature=1,
563
+ prompt=f"Réponds à la question suivante en utilisant seulement le contexte ci-contre. Réponds à la manière d'un ingénieur pédagogique pour créer un référentiel. Si vous ne pouvez pas répondre à la question sur la base des informations, dites que vous ne trouvez pas de réponse ou que vous ne parvenez pas à trouver de réponse. Essayez donc de comprendre en profondeur le contexte et répondez uniquement en vous basant sur les informations fournies. Ne générez pas de réponses non pertinentes.${HUMAN_PROMPT}. Questions : {question}${AI_PROMPT}",
564
+ )
565
+ taskMDC2.status = cl.TaskStatus.DONE
566
+ await MDC.send()
567
+ await cl.sleep(2)
568
+ await cl.Message(
569
+ author="🌐🌐🌐",content="Matrice de cohérences :\n\n" + completion_MDC.completion
570
+ ).send()
571
+ cl.user_session.set("MDC" + romeListArray[0], completion_MDC.completion)
572
+ cl.user_session.set("contextChatBot", completion_MDC.completion)
573
+ actions = [
574
+ cl.Action(name="download", value=completion_MDC.completion, description="download_matrice_coherences")
575
+ ]
576
+ await cl.Message(author="🌐🌐🌐",content="Download", actions=actions).send()
577
+ await cl.sleep(2)
578
+ await MDC.remove()
579
+ else:
580
+ await cl.Message(
581
+ author="🌐🌐🌐",content="⛔ Vous n'avez pas encore créé de Fiche synoptique!"
582
+ ).send()
583
  os.environ['ANTHROPIC_API_KEY'] = os.environ['ANTHROPIC_API_KEY']
584
  contextChat = cl.user_session.get("contextChatBot")
585
  if not contextChat: