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
Oefeninstructies
- Gebruik
.add_node()om de node"chatbot"aan de graaf toe te voegen en te koppelen aan de functiechatbot. - Maak een
ToolNode()metwikipedia_toolalstoolsen 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 detools_condition. - Gebruik
.add_edge()om"tools"terug te verbinden met"chatbot",STARTmet"chatbot", en"chatbot"metENDom 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()