Thêm một công cụ vào đồ thị
Bạn đã sẵn sàng công cụ Wikipedia. Giờ là lúc tích hợp nó vào quy trình đồ thị của chatbot! Bạn sẽ chỉnh sửa các node và edge trong đồ thị để thêm công cụ như một node bổ sung. Bạn sẽ cấu hình đồ thị để chatbot chỉ dùng công cụ khi cần, tùy theo truy vấn của người dùng. Để quản lý node công cụ và các edge liên quan, các module sau đã được nhập sẵn cho bạn. wikipedia_tool mà bạn đã xây dựng cũng có trong môi trường của bạn. Khi xây dựng xong, đồ thị của bạn sẽ được trực quan hóa dưới dạng sơ đồ LangGraph.
from langgraph.prebuilt import ToolNode, tools_condition
Bài tập này là một phần của khóa học
Thiết kế Hệ thống Agentic với LangChain
Hướng dẫn bài tập
- Dùng
.add_node()để thêm node"chatbot"vào đồ thị, liên kết với hàmchatbot. - Tạo
ToolNode()vớiwikipedia_toollàmtoolsvà dùng.add_node()để thêm vào đồ thị dưới tên"tools". - Áp dụng
.add_conditional_edges()để định tuyến từ"chatbot"dựa trêntools_condition. - Dùng
.add_edge()để nối"tools"về lại"chatbot", nốiSTARTđến"chatbot", và"chatbot"đếnENDđể hoàn tất quy trình.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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()