กำหนดฟังก์ชันสำหรับหยุดการทำงานของแชทบอท
เมื่อตั้งค่า state ของแชทบอทเรียบร้อยแล้ว ขั้นตอนต่อไปคือสร้างฟังก์ชันที่จัดการ workflow ใน graph ของแชทบอท เริ่มต้นด้วยการสร้างฟังก์ชัน should_continue() ซึ่งตรวจสอบการเรียกใช้เครื่องมือจากข้อความล่าสุดใน state ที่โหลดไว้ให้แล้ว หากไม่มีการเรียกใช้เครื่องมือ แชทบอทจะหยุดทำงาน แต่ถ้ามีการเรียกใช้เครื่องมือ แชทบอทจะดำเนินการต่อไป โมดูลต่อไปนี้ถูก import ไว้ให้แล้ว
from langgraph.graph import MessagesState, START, END
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การออกแบบระบบ Agentic ด้วย LangChain
คำแนะนำการฝึกหัด
- กำหนดประเภทของ input สำหรับพารามิเตอร์
stateโดยใช้MessagesState - เข้าถึงข้อความล่าสุดจาก
stateผ่านคีย์"messages"เพื่อตรวจสอบการเรียกใช้เครื่องมือ - ตรวจสอบว่าข้อความล่าสุดมี
tool_callsหรือไม่ และกำหนดค่าที่ return เป็น"tools"หากเป็นจริง - กำหนดค่าที่ return เป็น
ENDเพื่อจบการสนทนาเมื่อไม่มีtool_calls
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Use MessagesState to define the state of the function
def should_continue(state: ____):
# Get the last message from the state
last_message = ____["____"][____]
# Check if the last message includes tool calls
if ____.____:
return "____"
# End the conversation if no tool calls are present
return ____