Додайте інструмент до графа
Ви підготували інструмент Wikipedia. Тепер час додати його до графового робочого процесу вашого чатбота! Ви зміните вузли та ребра в графі, щоб додати інструмент як додатковий вузол. Налаштуйте граф так, щоб чатбот використовував інструмент лише за потреби — залежно від запиту користувача. Щоб керувати вузлом інструмента та пов'язаними з ним ребрами, для вас уже імпортовано такі модулі. wikipedia_tool, який ви створили, також доступний у вашому середовищі. Коли побудову графа буде завершено, його буде візуалізовано для вас як діаграму LangGraph.
from langgraph.prebuilt import ToolNode, tools_condition
Ця вправа є частиною курсу
Проєктування агентних систем з LangChain
Інструкції до вправи
- Використайте
.add_node(), щоб додати до графа вузол"chatbot", прив'язавши його до функціїchatbot. - Створіть
ToolNode()ізwikipedia_toolякtoolsі додайте його до графа як"tools"за допомогою.add_node(). - Застосуйте
.add_conditional_edges(), щоб спрямувати маршрут із"chatbot"на основіtools_condition. - Використайте
.add_edge(), щоб з'єднати"tools"назад із"chatbot",STARTз"chatbot"і"chatbot"зEND, щоб завершити робочий процес.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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()