Spaces:
Sleeping
Sleeping
Commit ·
0b5de36
1
Parent(s): f0f0690
Update main.py
Browse files
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", "
|
| 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", "
|
| 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:
|