Přidání nástroje do grafu
Nástroj pro Wikipedia máš připravený. Teď je čas zapojit ho do grafového workflow tvého chatbota! Upravíš uzly a hrany v grafu tak, aby nástroj fungoval jako samostatný uzel. Graf nastavíš tak, aby chatbot mohl nástroj použít jen tehdy, kdy ho skutečně potřebuje – v závislosti na dotazu uživatele. Pro správu uzlu nástroje a jeho hran jsou pro tebe naimportované následující moduly. wikipedia_tool, který jsi sestavil/a, je taky dostupný v prostředí. Po dokončení sestavení grafu ho uvidíš vizualizovaný jako diagram LangGraph.
from langgraph.prebuilt import ToolNode, tools_condition
Toto cvičení je součástí kurzu
Návrh agentních systémů s LangChain
Pokyny k cvičení
- Pomocí
.add_node()přidej do grafu uzel"chatbot"a propoj ho s funkcíchatbot. - Vytvoř
ToolNode()swikipedia_tooljakotoolsa pomocí.add_node()ho přidej do grafu pod názvem"tools". - Použij
.add_conditional_edges()pro směrování z uzlu"chatbot"na základětools_condition. - Pomocí
.add_edge()propoj"tools"zpět s"chatbot",STARTs"chatbot"a"chatbot"sEND, čímž dokončíš celé workflow.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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()