ComenzarEmpieza gratis

Crea el flujo de trabajo del grafo para varias herramientas

¡Ya tienes listos los bloques de construcción para crear el grafo de tu chatbot! Ahora vas a unir todos tus nodos en un único flujo de trabajo usando bordes para gestionar las conexiones entre ellos. Para empezar, tu flujo de trabajo del grafo ya está configurado con MessagesState y StateGraph() para seguir las actualizaciones de los mensajes del chatbot. También se ha configurado la función display() para representar tu grafo como un diagrama de LangGraph y se ha importado MemorySaver por ti.

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

workflow = StateGraph(MessagesState)

Este ejercicio forma parte del curso

Diseño de sistemas agénticos con LangChain

Ver curso

Instrucciones del ejercicio

  • Añade call_model como nodo usando la etiqueta "chatbot" y añade tool_node con la etiqueta "tools".
  • Define un borde que conecte el nodo START con el nodo "chatbot".
  • Añade bordes condicionales desde el nodo "chatbot" hacia los nodos "tools" y END usando should_continue, antes de conectar el nodo "tools" de vuelta al nodo "chatbot".
  • Crea una instancia de MemorySaver() y compila el flujo de trabajo en una aplicación con checkpointer de memoria.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

# 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()
Editar y ejecutar código