CommencezCommencez gratuitement

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

Voir le cours

Instructions de l’exercice

  • Utilisez .add_node() pour ajouter le nœud "chatbot" au graphe, en le liant à la fonction chatbot.
  • Créez un ToolNode() avec wikipedia_tool comme tools et utilisez .add_node() pour l'ajouter au graphe sous le nom "tools".
  • Appliquez .add_conditional_edges() pour acheminer à partir de "chatbot" selon tools_condition.
  • Utilisez .add_edge() pour relier "tools" à "chatbot", START à "chatbot", et "chatbot" à END afin 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()
Modifier et exécuter le code