Aan de slagGa gratis aan de slag

Voeg een tool toe aan een graaf

Je Wikipedia-tool is klaar voor gebruik. Tijd om die te verwerken in de graaf-workflow van je chatbot! Je past de knooppunten en randen in de graaf aan om de tool als extra node op te nemen. Je richt de graaf zo in dat de chatbot de tool alleen gebruikt wanneer dat nodig is op basis van de vraag van de gebruiker. Om je tool-node en de bijbehorende randen te beheren, zijn de volgende modules alvast voor je geïmporteerd. De wikipedia_tool die je hebt gebouwd is ook beschikbaar in je omgeving. Zodra de graaf gebouwd is, wordt deze voor je gevisualiseerd als een LangGraph-diagram.

from langgraph.prebuilt import ToolNode, tools_condition

Deze oefening maakt deel uit van de cursus

Agentic Systems ontwerpen met LangChain

Cursus bekijken

Oefeninstructies

  • Gebruik .add_node() om de node "chatbot" aan de graaf toe te voegen en te koppelen aan de functie chatbot.
  • Maak een ToolNode() met wikipedia_tool als tools en gebruik .add_node() om deze als "tools" aan de graaf toe te voegen.
  • Pas .add_conditional_edges() toe om vanaf "chatbot" te routeren op basis van de tools_condition.
  • Gebruik .add_edge() om "tools" terug te verbinden met "chatbot", START met "chatbot", en "chatbot" met END om de workflow te voltooien.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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()
Code bewerken en uitvoeren