Continuer la conversation
Permet de maintenir la conversation au lieu de la stopper après un message sans outils
This commit is contained in:
@@ -36,7 +36,10 @@ def getGraph()->CompiledStateGraph:
|
|||||||
"no_tools":"context_shortener" # FIN de la préparation, on réduit le contexte avant de passer à la suite
|
"no_tools":"context_shortener" # FIN de la préparation, on réduit le contexte avant de passer à la suite
|
||||||
})
|
})
|
||||||
workflow.add_edge("context_shortener", "user_prompt") # Et ici, je rejoins la partie principale qui rédigera le rapport
|
workflow.add_edge("context_shortener", "user_prompt") # Et ici, je rejoins la partie principale qui rédigera le rapport
|
||||||
workflow.add_edge("user_prompt", "LLM_central")
|
workflow.add_conditional_edges("user_prompt", lambda state: END if state['stop'] else "continue", {
|
||||||
|
END: END,
|
||||||
|
"continue": "LLM_central"
|
||||||
|
})
|
||||||
|
|
||||||
workflow.add_edge("weekly_report_tools", "preparation_docs")
|
workflow.add_edge("weekly_report_tools", "preparation_docs")
|
||||||
workflow.add_conditional_edges("tool_node", should_shorten, {
|
workflow.add_conditional_edges("tool_node", should_shorten, {
|
||||||
@@ -46,7 +49,7 @@ def getGraph()->CompiledStateGraph:
|
|||||||
workflow.add_edge("context_shortener_2", "LLM_central")
|
workflow.add_edge("context_shortener_2", "LLM_central")
|
||||||
workflow.add_conditional_edges("LLM_central", should_continue, {
|
workflow.add_conditional_edges("LLM_central", should_continue, {
|
||||||
"tools":"tool_node",
|
"tools":"tool_node",
|
||||||
"no_tools":END
|
"no_tools":"user_prompt"
|
||||||
})
|
})
|
||||||
|
|
||||||
return workflow.compile(checkpointer=InMemorySaver()) # TODO: Rempalcer par une vrai BDD de prod
|
return workflow.compile(checkpointer=InMemorySaver()) # TODO: Rempalcer par une vrai BDD de prod
|
||||||
|
|||||||
@@ -59,7 +59,7 @@ class InterruptPayload():
|
|||||||
def __human_prompt_display(self):
|
def __human_prompt_display(self):
|
||||||
print("=== L'AGENT DEMANDE DES CONSIGNES! ===\n")
|
print("=== L'AGENT DEMANDE DES CONSIGNES! ===\n")
|
||||||
|
|
||||||
print("Veuillez saisir un prompt pour l'agent...\n")
|
print("Veuillez saisir un prompt pour l'agent, ou 'exit' pour terminer ici...\n")
|
||||||
prompt = input("Prompt...")
|
prompt = input("Prompt...")
|
||||||
|
|
||||||
self.__fields = {'prompt': prompt}
|
self.__fields = {'prompt': prompt}
|
||||||
|
|||||||
@@ -61,10 +61,14 @@ def user_prompt(state: CustomState):
|
|||||||
).get("prompt")
|
).get("prompt")
|
||||||
) # Récupérer un prompt
|
) # Récupérer un prompt
|
||||||
|
|
||||||
|
end = False # Permet de mettre fin à l'exécution du modèle
|
||||||
|
if user_message.content.lower().strip() == "exit":
|
||||||
|
end = True
|
||||||
|
|
||||||
messages.append(sys_message) # Rajout des nouveaux messages dans le système
|
messages.append(sys_message) # Rajout des nouveaux messages dans le système
|
||||||
messages.append(user_message)
|
messages.append(user_message)
|
||||||
|
|
||||||
return {'messages': messages}# Je passe unen liste, devrait écraser tous les messages précédent au lieu d'ajouter à la liste du State
|
return {'stop': end, 'messages': messages}# Je passe unen liste, devrait écraser tous les messages précédent au lieu d'ajouter à la liste du State
|
||||||
|
|
||||||
|
|
||||||
def LLM_central(state: CustomState):
|
def LLM_central(state: CustomState):
|
||||||
|
|||||||
@@ -10,6 +10,8 @@ class CustomState(MessagesState):
|
|||||||
|
|
||||||
lastSummarizedMessage: int # Index du message où l'on s'était arrêté de résumer
|
lastSummarizedMessage: int # Index du message où l'on s'était arrêté de résumer
|
||||||
|
|
||||||
|
stop: bool # Permet d'indiquer la fin de l'exécution de l'agent
|
||||||
|
|
||||||
# TODO: Ajouter la source des documents sélectionnés pour la fin du rapport ?
|
# TODO: Ajouter la source des documents sélectionnés pour la fin du rapport ?
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
BIN
imgs/agent.png
BIN
imgs/agent.png
Binary file not shown.
|
Before Width: | Height: | Size: 50 KiB After Width: | Height: | Size: 52 KiB |
Reference in New Issue
Block a user