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
Istruzioni dell'esercizio
- Usa
.add_node()per aggiungere il nodo"chatbot"al grafo, collegandolo alla funzionechatbot. - Crea un
ToolNode()conwikipedia_toolcometoolse usa.add_node()per aggiungerlo al grafo come"tools". - Applica
.add_conditional_edges()per instradare da"chatbot"in base atools_condition. - Usa
.add_edge()per collegare"tools"di nuovo a"chatbot",STARTa"chatbot"e"chatbot"aENDper 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()