LoslegenKostenlos starten

Erstelle den Graph-Workflow für mehrere Tools

Deine Bausteine für den Chatbot-Graphen sind jetzt bereit! Du fügst alle Knoten zu einem einzigen Workflow zusammen und steuerst ihre Verbindungen über Kanten. Zum Start wurde dein Graph-Workflow bereits mit MessagesState und dem StateGraph() eingerichtet, um die Nachrichtenaktualisierungen des Chatbots zu verfolgen. Die display()-Funktion zum Rendern deines Graphen als LangGraph-Diagramm ist ebenfalls vorbereitet, und der MemorySaver wurde für dich importiert.

from langgraph.graph import StateGraph
from langgraph.checkpoint.memory import MemorySaver

workflow = StateGraph(MessagesState)

Diese Übung ist Teil des Kurses

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

Übungsanweisungen

  • Füge call_model als Knoten mit der Bezeichnung "chatbot" hinzu und tool_node mit der Bezeichnung "tools".
  • Definiere eine Kante, die den START-Knoten mit dem "chatbot"-Knoten verbindet.
  • Füge bedingte Kanten vom "chatbot"-Knoten zu den Knoten "tools" und END mithilfe von should_continue hinzu, bevor du den "tools"-Knoten zurück zum "chatbot"-Knoten verbindest.
  • Erstelle eine Instanz von MemorySaver() und kompiliere den Workflow zu einer Anwendung mit dem checkpointer für den Speicher.

Interaktive praktische Übung

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

# Add nodes for chatbot and tools
workflow.add_node("____", ____)
workflow.add_node("____", ____)

# Define an edge connecting START to the chatbot
workflow.add_edge(____, "____")

# Define conditional edges and route "tools" back to "chatbot"
workflow.add_conditional_edges("____", ____, ["____", ____])
workflow.add_edge("____", "____")

# Set up memory and compile the workflow
memory = ____()
app = workflow.____(checkpointer=____)

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