Criar o fluxo de trabalho gráfico para várias ferramentas
Os blocos de construção para você criar o gráfico do seu chatbot já estão prontos! Você reunirá todos os seus nós em um único fluxo de trabalho usando bordas para gerenciar as conexões entre eles. Para começar, seu fluxo de trabalho gráfico já foi configurado para você com MessagesState
e o StateGraph()
para rastrear as atualizações de mensagens do chatbot. A função display()
para renderizar seu gráfico como um diagrama LangGraph também foi configurada e o MemorySaver
foi importado para você.
from langgraph.graph import StateGraph
from langgraph.checkpoint.memory import MemorySaver
workflow = StateGraph(MessagesState)
Este exercício faz parte do curso
Projetando sistemas agênticos com LangChain
Instruções de exercício
- Adicione
call_model
como um nó usando o rótulo"chatbot"
e adicionetool_node
com o rótulo"tools"
. - Defina uma borda que conecte o nó
START
ao nó"chatbot"
. - Adicione bordas condicionais do nó
"chatbot"
aos nós"tools"
eEND
usandoshould_continue
, antes de conectar o nó"tools"
de volta ao nó"chatbot"
. - Crie uma instância do
MemorySaver()
e compile o fluxo de trabalho em um aplicativo com a memóriacheckpointer
.
Exercício interativo prático
Experimente este exercício preenchendo este código de exemplo.
# 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()))