Kom igångKom igång gratis

Skapa grafarbetsflödet för flera verktyg

Nu är alla byggstenar för din chatbot-graf på plats! Du ska sätta ihop alla noder i ett enda arbetsflöde och använda kanter för att hantera kopplingarna mellan dem. Som startpunkt har grafarbetsflödet redan konfigurerats åt dig med MessagesState och StateGraph() för att spåra chatbotens meddelandeuppdateringar. Funktionen display() för att rendera grafen som ett LangGraph-diagram har också konfigurerats, och MemorySaver har importerats åt dig.

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

workflow = StateGraph(MessagesState)

Den här övningen är en del av kursen

Designa agentbaserade system med LangChain

Visa kurs

Övningsinstruktioner

  • Lägg till call_model som en nod med etiketten "chatbot" och lägg till tool_node med etiketten "tools".
  • Definiera en kant som kopplar START-noden till "chatbot"-noden.
  • Lägg till villkorliga kanter från "chatbot"-noden till "tools"- och END-noderna med hjälp av should_continue, och koppla sedan "tools"-noden tillbaka till "chatbot"-noden.
  • Skapa en MemorySaver()-instans och kompilera arbetsflödet till en applikation med minnes-checkpointer.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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()
Redigera och kör kod