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
Anleitung zur Übung
- Füge
call_modelals Knoten mit der Bezeichnung"chatbot"hinzu undtool_nodemit 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"undENDmithilfe vonshould_continuehinzu, bevor du den"tools"-Knoten zurück zum"chatbot"-Knoten verbindest. - Erstelle eine Instanz von
MemorySaver()und kompiliere den Workflow zu einer Anwendung mit demcheckpointerfü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()