Aan de slagGa gratis aan de slag

Maak de grafen-workflow voor meerdere tools

Je bouwstenen om je chatbot-graaf te maken zijn nu klaar! Je voegt al je nodes samen in één workflow, waarbij je edges gebruikt om de verbindingen te beheren. Om te beginnen is je grafen-workflow al voor je opgezet met MessagesState en de StateGraph() om de berichtupdates van de chatbot bij te houden. De functie display() om je graaf weer te geven als een LangGraph-diagram is ook al ingesteld en de MemorySaver is voor je geïmporteerd.

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

workflow = StateGraph(MessagesState)

Deze oefening maakt deel uit van de cursus

Agentic Systems ontwerpen met LangChain

Cursus bekijken

Oefeninstructies

  • Voeg call_model toe als node met het label "chatbot" en voeg tool_node toe met het label "tools".
  • Definieer een edge die de START-node verbindt met de "chatbot"-node.
  • Voeg conditionele edges toe van de "chatbot"-node naar de "tools"- en END-nodes met should_continue, en verbind daarna de "tools"-node terug naar de "chatbot"-node.
  • Maak een MemorySaver()-instance en compileer de workflow tot een applicatie met de memory checkpointer.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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 bewerken en uitvoeren