Files
Projet-Agent-IA/AgentReact/agent.py
LJ5O a9ff56c122 Human in the loop
Implémentation fonctionelle de l'HITL !
2026-02-06 22:07:47 +01:00

34 lines
1.2 KiB
Python

from langgraph.graph import START, END
from langgraph.graph.state import CompiledStateGraph
from langgraph.checkpoint.memory import InMemorySaver
from utils.nodes import call_to_LLM, should_continue, task_ended, BasicToolNode, tool_node
from utils.state import getState
from utils.tools import getTools
def getGraph()->CompiledStateGraph:
"""
Récupérer le graphe compilé et prêt à invoquer
Returns:
CompiledStateGraph: Graphe compilé
"""
workflow = getState() # State prêt à utiliser
# Définition des sommets du graphe
workflow.add_node(call_to_LLM)
workflow.add_node("tool_node", tool_node)# BasicToolNode(tools=getTools())) # N'est pas une fonction, mais une classe instanciée, je dois précisier le nom du node
# Arrêtes
workflow.set_entry_point("call_to_LLM")
workflow.add_edge("tool_node", "call_to_LLM")
workflow.add_conditional_edges("call_to_LLM", should_continue, {
"tools":"tool_node",
"no_tools":END
})
return workflow.compile(checkpointer=InMemorySaver()) # TODO: Rempalcer par une vrai BDD de prod
if __name__ == "__main__":
# Affichage du graphe
getGraph().get_graph().draw_mermaid_png(output_file_path="agent.png")