IniziaInizia gratis

Aggiungi uno strumento a un grafo

Hai lo strumento di Wikipedia pronto all'uso. Ora è il momento di integrarlo nel workflow a grafo del tuo chatbot! Modificherai i nodi e gli archi nel workflow per includere lo strumento come nodo aggiuntivo. Imposterai il grafo in modo che il chatbot usi lo strumento solo quando serve, a seconda della richiesta dell'utente. Per gestire il nodo dello strumento e i relativi archi, i seguenti moduli sono già stati importati per te. Il wikipedia_tool che hai costruito è anche disponibile nel tuo ambiente. Una volta completata la costruzione del grafo, il tuo grafo sarà visualizzato come un diagramma LangGraph.

from langgraph.prebuilt import ToolNode, tools_condition

Questo esercizio fa parte del corso

Progettare sistemi agentici con LangChain

Visualizza il corso

Istruzioni dell'esercizio

  • Usa .add_node() per aggiungere il nodo "chatbot" al grafo, collegandolo alla funzione chatbot.
  • Crea un ToolNode() con wikipedia_tool come tools e usa .add_node() per aggiungerlo al grafo come "tools".
  • Applica .add_conditional_edges() per instradare da "chatbot" in base a tools_condition.
  • Usa .add_edge() per collegare "tools" di nuovo a "chatbot", START a "chatbot" e "chatbot" a END per completare il workflow.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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()
Modifica ed esegui il codice