Ajouter un outil à un graphe
Votre outil Wikipedia est prêt. Il est maintenant temps de l'intégrer au flux de travail en graphe de votre agent de clavardage ! Vous allez modifier les nœuds et les arêtes du graphe pour y ajouter l'outil comme nœud supplémentaire. Vous configurerez le graphe pour que l'agent n'utilise l'outil qu'au besoin, selon la requête de l'utilisateur. Pour gérer votre nœud d'outil et ses arêtes associées, les modules suivants ont été importés pour vous. Le wikipedia_tool que vous avez construit est aussi disponible dans votre environnement. Une fois la construction du graphe terminée, il sera visualisé pour vous sous forme de diagramme LangGraph.
from langgraph.prebuilt import ToolNode, tools_condition
Cette activité fait partie du cours
Concevoir des systèmes agentiques avec LangChain
Instructions de l’exercice
- Utilisez
.add_node()pour ajouter le nœud"chatbot"au graphe, en le liant à la fonctionchatbot. - Créez un
ToolNode()avecwikipedia_toolcommetoolset utilisez.add_node()pour l'ajouter au graphe sous le nom"tools". - Appliquez
.add_conditional_edges()pour acheminer à partir de"chatbot"selontools_condition. - Utilisez
.add_edge()pour relier"tools"à"chatbot",STARTà"chatbot", et"chatbot"àENDafin de compléter le flux de travail.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Add chatbot node to the graph
graph_builder.____("____", ____)
# Create a ToolNode to handle tool calls and add it to the graph
tool_node = ____(tools=[____])
graph_builder.____("tools", ____)
# Set up a condition to direct from chatbot to tool or END node
graph_builder.____("____", ____)
# Connect tools back to chatbot and connect START and END nodes
graph_builder.add_edge("____", "____")
graph_builder.add_edge(____, "chatbot")
graph_builder.add_edge("chatbot", ____)
graph = graph_builder.compile()
try:
display(Image(graph.get_graph().draw_mermaid_png()))
except Exception:
print("Plot generation failed... falling back to cached asset.")
display_fallback()