from langgraph.graph import START, END from langgraph.graph.state import CompiledStateGraph 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() if __name__ == "__main__": # Affichage du graphe getGraph().get_graph().draw_mermaid_png(output_file_path="agent.png")