Créer le parcours de graphe pour plusieurs outils
Vos blocs de construction pour créer le graphe de votre agent conversationnel sont prêts ! Vous allez rassembler tous vos nœuds dans un seul parcours en utilisant des arêtes pour gérer leurs connexions. Pour commencer, le parcours de votre graphe a déjà été configuré avec MessagesState et StateGraph() pour suivre les mises à jour de messages de l'agent. La fonction display() pour afficher votre graphe sous forme de diagramme LangGraph est aussi en place et MemorySaver a été importé pour vous.
from langgraph.graph import StateGraph
from langgraph.checkpoint.memory import MemorySaver
workflow = StateGraph(MessagesState)
Cette activité fait partie du cours
Concevoir des systèmes agentiques avec LangChain
Instructions de l’exercice
- Ajoutez
call_modelcomme nœud avec l'étiquette"chatbot"et ajouteztool_nodeavec l'étiquette"tools". - Définissez une arête reliant le nœud
STARTau nœud"chatbot". - Ajoutez des arêtes conditionnelles du nœud
"chatbot"vers les nœuds"tools"etENDà l'aide deshould_continue, avant de relier le nœud"tools"de retour au nœud"chatbot". - Créez une instance de
MemorySaver()et compilez le parcours en une application en utilisantmemorycommecheckpointer.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Add nodes for chatbot and tools
workflow.add_node("____", ____)
workflow.add_node("____", ____)
# Define an edge connecting START to the chatbot
workflow.add_edge(____, "____")
# Define conditional edges and route "tools" back to "chatbot"
workflow.add_conditional_edges("____", ____, ["____", ____])
workflow.add_edge("____", "____")
# Set up memory and compile the workflow
memory = ____()
app = workflow.____(checkpointer=____)
try:
display(Image(graph.get_graph().draw_mermaid_png()))
except Exception:
print("Plot generation failed... falling back to cached asset.")
display_fallback()