1. Learn
  2. /
  3. คอร์ส
  4. /
  5. การออกแบบระบบ Agentic ด้วย LangChain

Connected

แบบฝึกหัด

สร้างฟังก์ชันสำหรับส่งคืนการตอบสนองของ LLM

ตอนนี้แชทบอตมีเครื่องมือพร้อมใช้งานมากมายแล้ว แต่ก็ยังมีประโยชน์ที่จะเรียกใช้ LLM โดยตรงในกรณีที่คำถามไม่เกี่ยวข้องกับเครื่องมือใดเลย ในแบบฝึกหัดนี้จะได้กำหนดฟังก์ชันที่ตรวจสอบข้อความล่าสุดในการสนทนาว่ามี tool calls หรือไม่ หากไม่มี แชทบอตจะใช้ LLM เพื่อตอบคำถามโดยตรง โมดูลต่อไปนี้ถูก import มาให้แล้วเพื่อรองรับทั้งข้อความจากผู้ใช้และการตอบสนองของแชทบอต

from langchain_core.messages import AIMessage, HumanMessage

คำแนะนำ

100 XP
  • เข้าถึงข้อความล่าสุดจาก state โดยใช้ "messages"
  • เขียน conditional statement เพื่อตรวจสอบว่า last_message เป็น AIMessage และมี tool_calls อยู่ด้วยหรือไม่
  • หากเงื่อนไขเป็นจริง ให้คืนค่า "response" แรกจาก tool_calls ที่ดึงมาจาก last_message ในฟิลด์ content ของ AIMessage
  • หากเงื่อนไขไม่เป็นจริง ให้เรียก .invoke() บน model_with_tools เพื่อสร้างการตอบสนอง โดยส่งประวัติการสนทนาทั้งหมดจาก state["messages"]