ComeçarComece de graça

Adicionar uma ferramenta a um grafo

Sua ferramenta da Wikipedia está pronta. Agora é hora de incorporá-la ao fluxo de grafo do seu chatbot! Você vai modificar os nós e arestas no fluxo para incluir a ferramenta como um nó adicional. O grafo será configurado para que o chatbot use a ferramenta apenas quando necessário, dependendo da consulta do usuário. Para gerenciar o nó da ferramenta e suas arestas associadas, os módulos a seguir já foram importados para você. O wikipedia_tool que você construiu também está disponível no seu ambiente. Quando a construção do grafo for concluída, ele será visualizado para você como um diagrama do LangGraph.

from langgraph.prebuilt import ToolNode, tools_condition

Este exercício faz parte do curso

Projetando Sistemas Agentes com LangChain

Ver curso

Instruções do exercício

  • Use .add_node() para adicionar o nó "chatbot" ao grafo, vinculando-o à função chatbot.
  • Crie um ToolNode() com wikipedia_tool em tools e use .add_node() para adicioná-lo ao grafo como "tools".
  • Aplique .add_conditional_edges() para rotear a partir de "chatbot" com base no tools_condition.
  • Use .add_edge() para conectar "tools" de volta a "chatbot", START a "chatbot" e "chatbot" a END para completar o fluxo.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# Add chatbot node to the graph
graph_builder.____("____", ____)

# Create a ToolNode to handle tool calls and add it to the graph
tool_node = ____(tools=[____])
graph_builder.____("tools", ____)

# Set up a condition to direct from chatbot to tool or END node
graph_builder.____("____", ____)

# Connect tools back to chatbot and connect START and END nodes
graph_builder.add_edge("____", "____")
graph_builder.add_edge(____, "chatbot")
graph_builder.add_edge("chatbot", ____)

graph = graph_builder.compile()

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