LoslegenKostenlos loslegen

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

Kurs anzeigen

Anleitung zur Übung

  • Verwende .add_node(), um den Knoten "chatbot" dem Graphen hinzuzufügen und ihn mit der Funktion chatbot zu verknüpfen.
  • Erstelle einen ToolNode() mit wikipedia_tool als tools und füge ihn mit .add_node() als "tools" zum Graphen hinzu.
  • Wende .add_conditional_edges() an, um von "chatbot" basierend auf tools_condition zu routen.
  • Nutze .add_edge(), um "tools" zurück zu "chatbot", START zu "chatbot" und "chatbot" zu END zu 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()
Code bearbeiten und ausführen