Añadir una herramienta a un gráfico
Ya tienes lista tu herramienta Wikipedia. ¡Ahora es el momento de incorporarlo al flujo de trabajo gráfico de tu chatbot! Modificarás los nodos y aristas del flujo de trabajo del gráfico para incorporar la herramienta como un nodo más. Configurarás el gráfico para que el chatbot pueda utilizar la herramienta sólo cuando sea necesario en función de la consulta del usuario. Para gestionar tu nodo herramienta y sus aristas asociadas, se han importado para ti los siguientes módulos. El wikipedia_tool
que has construido también está disponible en tu entorno. Una vez finalizada la construcción del gráfico, éste se visualizará para ti como un diagrama LangGraph.
from langgraph.prebuilt import ToolNode, tools_condition
Este ejercicio forma parte del curso
Diseño de Sistemas Agenéticos con LangChain
Instrucciones de ejercicio
- Utiliza
.add_node()
para añadir el nodo"chatbot"
al gráfico, vinculándolo a la funciónchatbot
. - Crea un
ToolNode()
conwikipedia_tool
comotools
y utiliza.add_node()
para añadirlo al gráfico como"tools"
. - Aplica
.add_conditional_edges()
a la ruta desde"chatbot"
basándote en latools_condition
. - Utiliza
.add_edge()
para volver a conectar"tools"
con"chatbot"
,START
con"chatbot"
y"chatbot"
conEND
para completar el flujo de trabajo.
Ejercicio interactivo práctico
Pruebe este ejercicio completando este código de muestra.
# 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()
display(Image(graph.get_graph().draw_mermaid_png()))