Crea el flujo de trabajo gráfico para varias herramientas
¡Tus bloques de construcción para crear el gráfico de tu chatbot ya están listos! Juntarás todos tus nodos en un único flujo de trabajo utilizando aristas para gestionar las conexiones entre ellos. Para empezar, tu flujo de trabajo gráfico ya se ha configurado para ti con MessagesState
y el StateGraph()
para seguir las actualizaciones de los mensajes del chatbot. También se ha configurado la función display()
para representar tu gráfico como un diagrama LangGraph y se ha importado para ti la dirección MemorySaver
.
from langgraph.graph import StateGraph
from langgraph.checkpoint.memory import MemorySaver
workflow = StateGraph(MessagesState)
Este ejercicio forma parte del curso
Diseño de Sistemas Agenéticos con LangChain
Instrucciones del ejercicio
- Añade
call_model
como nodo utilizando la etiqueta"chatbot"
y añadetool_node
con la etiqueta"tools"
. - Define una arista que conecte el nodo
START
con el nodo"chatbot"
. - Añade aristas condicionales desde el nodo
"chatbot"
a los nodos"tools"
yEND
utilizandoshould_continue
, antes de volver a conectar el nodo"tools"
con el nodo"chatbot"
. - Crea una instancia de
MemorySaver()
y compila el flujo de trabajo en una aplicación con la memoriacheckpointer
.
Ejercicio interactivo práctico
Prueba este ejercicio completando 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=____)
display(Image(app.get_graph().draw_mermaid_png()))