IniziaInizia gratis

Crea il flusso del grafo per più strumenti

I blocchi di costruzione per creare il grafo del tuo chatbot sono pronti! Ora metterai insieme tutti i tuoi nodi in un unico workflow usando i bordi per gestire le connessioni tra di loro. Per iniziare, il flusso del grafo è già stato configurato per te con MessagesState e StateGraph() per tracciare gli aggiornamenti dei messaggi del chatbot. Anche la funzione display() per visualizzare il grafo come diagramma LangGraph è stata predisposta e MemorySaver è stata importata per te.

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

workflow = StateGraph(MessagesState)

Questo esercizio fa parte del corso

Progettare sistemi agentici con LangChain

Visualizza il corso

Istruzioni dell'esercizio

  • Aggiungi call_model come nodo usando l'etichetta "chatbot" e aggiungi tool_node con l'etichetta "tools".
  • Definisci un bordo che colleghi il nodo START al nodo "chatbot".
  • Aggiungi bordi condizionali dal nodo "chatbot" ai nodi "tools" ed END usando should_continue, prima di collegare il nodo "tools" di nuovo al nodo "chatbot".
  • Crea un'istanza di MemorySaver() e compila il workflow in un'applicazione con il checkpointer della memoria.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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()
Modifica ed esegui il codice