LoslegenKostenlos starten

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

<Kurs>Agentische Systeme mit LangChain entwerfen</Kurs>
Kurs ansehen

Übungsanweisungen

  • 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 praktische Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

# 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