Intermédiaire
🧠 Fondamentaux
20 XP
0 personnes ont réussi
Construire un graphe avec LangGraph
A l'exercice precedent, tu as construit une boucle agent "a la main". Ca marche, mais des que le flux devient complexe (plusieurs chemins possibles, des conditions, des retours en arriere), le code devient un plat de spaghettis. LangGraph resout ce probleme en modelisant le flux de ton agent comme un graphe.
Un graphe, c'est un ensemble de noeuds connectes par des aretes. Chaque noeud est une etape (raisonner, appeler un outil, formuler la reponse), et les aretes definissent l'enchainement. Certaines aretes sont conditionnelles : "si le LLM veut un outil, va au noeud appeler_outil, sinon va au noeud formuler_reponse".
Pour travailler sans installer LangGraph (on le fera dans un exercice futur), on va construire notre propre mini-graphe en Python pur. Ca te fera comprendre exactement ce qui se passe sous le capot de LangGraph.
Ecris une classe GrapheAgent qui modelise un flux de travail :
ajouter_noeud(nom, fonction) : ajoute un noeud au graphe. La fonction prend un etat (dictionnaire) et renvoie l'etat modifie.
ajouter_arete(source, destination) : ajoute une arete simple (toujours suivi ce chemin).
ajouter_arete_conditionnelle(source, fonction_condition) : la fonction_condition prend l'etat et renvoie le nom du noeud suivant.
definir_entree(nom) : definit le noeud de depart.
definir_sortie(nom) : definit le noeud de fin (le graphe s'arrete quand on atteint ce noeud).
executer(etat_initial) : execute le graphe a partir de l'entree, en suivant les aretes, jusqu'a atteindre la sortie ou un maximum de 20 etapes. Renvoie l'etat final.