Spaces:
Running
Running
Update main.py
Browse files
main.py
CHANGED
@@ -591,6 +591,7 @@ async def construction_FCS(romeListArray,settings):
|
|
591 |
else:
|
592 |
getChain = await recuperation_contexte("NCS" + romeListArray[0])
|
593 |
|
|
|
594 |
client_llm = await IA()
|
595 |
template = """<s>[INST] Vous êtes un spécialiste du marché de l'emploi en fonction du niveau de qualification, des compétences professionnelles, des compétences transversales, du salaire et de l'expérience. Vous êtes doué pour faire des analyses du système travail sur les métiers les plus demandés grâce à votre aptitude à synthétiser les informations en fonction des critères définis ci-avant.
|
596 |
|
@@ -606,10 +607,16 @@ async def construction_FCS(romeListArray,settings):
|
|
606 |
"""
|
607 |
context_p = f"Contexte : Réponds aux questions suivantes 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. Essayez donc de comprendre en profondeur le contexte et répondez uniquement en vous basant sur les informations fournies. Contexte: Définition d'une activité : une activité est un ensemble cohérent d'actions combinées : pour la réaliser, plusieurs compétences et opérations sont nécessaires, soit successivement, soit conjointement. Elles s'inscrivent à des moments clés du processus de réalisation et ne peuvent en aucun cas être occultées, car elles conditionnent le résultat. Plusieurs activités en vue d'une finalité avec une valeur ajoutée à un produit ou un service sont nécessaires pour mettre en œuvre un processus métier. De ce fait, il est essentiel de déterminer pour chaque activité sa propre finalité et de s'assurer que l'ensemble des activités participent bien d'un même processus. Définition d'une compétence : la compétence est une combinaison de savoirs en action, mobilisés en vue de réaliser une activité professionnelle. Elle s'apprécie, en tant qu'acquis de l'apprentissage selon des modalités adaptées permettant d'en certifier la possession et au regard de l'atteinte d'un résultat pour un niveau d'exigence prédéterminé. Les compétences peuvent être regroupées par domaines selon la nature et leur liaison subordonnée aux activités. Essayez donc de comprendre en profondeur le contexte et répondez uniquement en vous basant sur les informations fournies. Note de composante sectorielle : {getChain}."
|
608 |
prompt = PromptTemplate(template=template, input_variables=["question","context"])
|
609 |
-
chain =
|
|
|
|
|
|
|
|
|
|
|
610 |
|
611 |
msg = cl.Message(author="Datapcc : 🌐🌐🌐",content="")
|
612 |
-
async for chunk in chain.astream({"question":question_p,"context":context_p}
|
|
|
613 |
await msg.stream_token(chunk)
|
614 |
completionFCS = msg.content
|
615 |
await cl.sleep(2)
|
|
|
591 |
else:
|
592 |
getChain = await recuperation_contexte("NCS" + romeListArray[0])
|
593 |
|
594 |
+
memory = ConversationBufferMemory(return_messages=True)
|
595 |
client_llm = await IA()
|
596 |
template = """<s>[INST] Vous êtes un spécialiste du marché de l'emploi en fonction du niveau de qualification, des compétences professionnelles, des compétences transversales, du salaire et de l'expérience. Vous êtes doué pour faire des analyses du système travail sur les métiers les plus demandés grâce à votre aptitude à synthétiser les informations en fonction des critères définis ci-avant.
|
597 |
|
|
|
607 |
"""
|
608 |
context_p = f"Contexte : Réponds aux questions suivantes 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. Essayez donc de comprendre en profondeur le contexte et répondez uniquement en vous basant sur les informations fournies. Contexte: Définition d'une activité : une activité est un ensemble cohérent d'actions combinées : pour la réaliser, plusieurs compétences et opérations sont nécessaires, soit successivement, soit conjointement. Elles s'inscrivent à des moments clés du processus de réalisation et ne peuvent en aucun cas être occultées, car elles conditionnent le résultat. Plusieurs activités en vue d'une finalité avec une valeur ajoutée à un produit ou un service sont nécessaires pour mettre en œuvre un processus métier. De ce fait, il est essentiel de déterminer pour chaque activité sa propre finalité et de s'assurer que l'ensemble des activités participent bien d'un même processus. Définition d'une compétence : la compétence est une combinaison de savoirs en action, mobilisés en vue de réaliser une activité professionnelle. Elle s'apprécie, en tant qu'acquis de l'apprentissage selon des modalités adaptées permettant d'en certifier la possession et au regard de l'atteinte d'un résultat pour un niveau d'exigence prédéterminé. Les compétences peuvent être regroupées par domaines selon la nature et leur liaison subordonnée aux activités. Essayez donc de comprendre en profondeur le contexte et répondez uniquement en vous basant sur les informations fournies. Note de composante sectorielle : {getChain}."
|
609 |
prompt = PromptTemplate(template=template, input_variables=["question","context"])
|
610 |
+
chain = (
|
611 |
+
RunnablePassthrough.assign(
|
612 |
+
history=RunnableLambda(memory.load_memory_variables) | itemgetter("history")
|
613 |
+
)
|
614 |
+
| prompt | client_llm
|
615 |
+
)
|
616 |
|
617 |
msg = cl.Message(author="Datapcc : 🌐🌐🌐",content="")
|
618 |
+
async for chunk in chain.astream({"question":question_p,"context":context_p},
|
619 |
+
config=RunnableConfig(callbacks=[cl.AsyncLangchainCallbackHandler(stream_final_answer=True)])):
|
620 |
await msg.stream_token(chunk)
|
621 |
completionFCS = msg.content
|
622 |
await cl.sleep(2)
|