เพิ่ม tool เข้าไปในกราฟ
ตอนนี้ Wikipedia tool พร้อมใช้งานแล้ว ถึงเวลานำมันเข้าสู่ workflow ของกราฟ chatbot กันแล้ว! จะได้ปรับแต่ง node และ edge ในกราฟเพื่อเพิ่ม tool เป็น node เพิ่มเติม และตั้งค่ากราฟให้ chatbot ใช้ tool เฉพาะเมื่อจำเป็น ขึ้นอยู่กับคำถามของผู้ใช้ โมดูลต่อไปนี้ถูก import ให้แล้ว และ wikipedia_tool ที่สร้างไว้ก็พร้อมใช้งานในสภาพแวดล้อมของคุณ เมื่อสร้างกราฟเสร็จสมบูรณ์ กราฟจะแสดงผลเป็นไดอะแกรม LangGraph ให้อัตโนมัติ
from langgraph.prebuilt import ToolNode, tools_condition
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การออกแบบระบบ Agentic ด้วย LangChain
คำแนะนำการฝึกหัด
- ใช้
.add_node()เพื่อเพิ่ม node"chatbot"เข้าไปในกราฟ โดยเชื่อมโยงกับฟังก์ชันchatbot - สร้าง
ToolNode()โดยกำหนดwikipedia_toolเป็นtoolsจากนั้นใช้.add_node()เพื่อเพิ่มเข้าไปในกราฟในชื่อ"tools" - ใช้
.add_conditional_edges()เพื่อกำหนดเส้นทางจาก"chatbot"ตามtools_condition - ใช้
.add_edge()เพื่อเชื่อม"tools"กลับไปยัง"chatbot",STARTไปยัง"chatbot"และ"chatbot"ไปยังENDเพื่อให้ workflow สมบูรณ์
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# 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()