Ein Tool zu einem Graphen hinzufügen
Dein Wikipedia-Tool ist startklar. Jetzt wird es in den Graph-Workflow deines Chatbots eingebunden! Du passt die Knoten und Kanten im Graph-Workflow an, um das Tool als zusätzlichen Knoten zu integrieren. Du richtest den Graphen so ein, dass der Chatbot das Tool nur bei Bedarf und abhängig von der Nutzeranfrage verwendet. Um deinen Tool-Knoten und die zugehörigen Kanten zu verwalten, wurden folgende Module bereits für dich importiert. Das von dir erstellte wikipedia_tool steht ebenfalls in deiner Umgebung bereit. Sobald der Graph gebaut ist, wird er dir als LangGraph-Diagramm visualisiert.
from langgraph.prebuilt import ToolNode, tools_condition
Diese Übung ist Teil des Kurses
Agentische Systeme mit LangChain entwerfen
Anleitung zur Übung
- Verwende
.add_node(), um den Knoten"chatbot"dem Graphen hinzuzufügen und ihn mit der Funktionchatbotzu verknüpfen. - Erstelle einen
ToolNode()mitwikipedia_toolalstoolsund füge ihn mit.add_node()als"tools"zum Graphen hinzu. - Wende
.add_conditional_edges()an, um von"chatbot"basierend auftools_conditionzu routen. - Nutze
.add_edge(), um"tools"zurück zu"chatbot",STARTzu"chatbot"und"chatbot"zuENDzu verbinden und so den Workflow abzuschließen.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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()