ComeçarComece de graça

Crie o fluxo do grafo para várias ferramentas

Seus blocos de construção para criar o grafo do chatbot já estão prontos! Você vai juntar todos os seus nós em um único fluxo usando arestas para gerenciar as conexões entre eles. Para começar, seu fluxo de grafo já foi configurado para você com MessagesState e StateGraph() para acompanhar as atualizações de mensagens do chatbot. A função display() para renderizar seu grafo como um diagrama do LangGraph também foi configurada e o MemorySaver já 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 Agentes com LangChain

Ver curso

Instruções do exercício

  • Adicione call_model como um nó usando o rótulo "chatbot" e adicione tool_node com o rótulo "tools".
  • Defina uma aresta conectando o nó START ao nó "chatbot".
  • Adicione arestas condicionais do nó "chatbot" para os nós "tools" e END usando should_continue, antes de conectar o nó "tools" de volta ao nó "chatbot".
  • Crie uma instância de MemorySaver() e compile o fluxo em um aplicativo com o checkpointer de memória.

Exercício interativo prático

Experimente este exercício completando 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=____)

try:
    display(Image(graph.get_graph().draw_mermaid_png()))

except Exception:
    print("Plot generation failed... falling back to cached asset.")
    display_fallback()
Editar e executar o código