LoslegenKostenlos loslegen

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

Agentische Systeme mit LangChain entwerfen

Kurs anzeigen

Anleitung zur Übung

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

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# 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