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_model
en tant que nœud en utilisant l'étiquette"chatbot"
et ajouteztool_node
avec l'étiquette"tools"
. - Définissez une arête reliant le nœud
START
au 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()))