Créez le flux de travail graphique pour plusieurs outils
Vos éléments de base pour créer votre graphique de chatbot sont maintenant prêts ! Vous réunirez tous vos nœuds dans un flux de travail unique en utilisant des arêtes pour gérer les connexions entre eux. Pour commencer, votre flux de travail graphique a déjà été mis en place pour vous avec MessagesState et le cursus StateGraph() pour suivre les mises à jour des messages du chatbot. La fonction display() pour rendre votre graphique sous forme de diagramme LangGraph a également été mise en place et le site MemorySaver a été importé pour vous.
from langgraph.graph import StateGraph
from langgraph.checkpoint.memory import MemorySaver
workflow = StateGraph(MessagesState)
Cet exercice fait partie du cours
Concevoir des systèmes agentiques avec LangChain
Instructions
- Ajoutez
call_modelen tant que nœud en utilisant 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"aux nœuds"tools"etENDà l'aide deshould_continue, avant de relier le nœud"tools"au nœud"chatbot". - Créez une instance
MemorySaver()et compilez le flux de travail dans une application avec la mémoirecheckpointer.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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=____)
display(Image(app.get_graph().draw_mermaid_png()))