สร้างเครื่องมือด้วยโค้ด Python
ตอนนี้แชทบอทมีเครื่องมือค้นหาเหตุการณ์ทางประวัติศาสตร์และ Wikipedia พร้อมใช้งานแล้ว ฝ่ายบริหารของโรงเรียนต้องการให้เพิ่มเครื่องมือตรวจสอบไวยากรณ์สำหรับหลักสูตรภาษาอังกฤษด้วย โดยให้สร้างเครื่องมือตรวจสอบ palindrome ที่ช่วยพิจารณาว่าคำหรือวลีที่ป้อนเข้ามานั้นอ่านเหมือนกันทั้งจากซ้ายและขวา นักเรียนจะได้ใช้เครื่องมือนี้ทดสอบ string ประเภทต่าง ๆ เช่น "level" หรือ "never odd or even" ซึ่งทั้งสองคำอ่านได้เหมือนกันเมื่อกลับด้าน
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การออกแบบระบบ Agentic ด้วย LangChain
คำแนะนำการฝึกหัด
- กำหนดประเภทของ input สำหรับเครื่องมือให้เป็น string
- แปลงตัวอักษรทั้งหมดให้เป็นตัวพิมพ์เล็กด้วย
.lower()แล้วลบตัวอักษรที่ไม่ใช่ตัวอักขระหรือตัวเลขออกด้วย.isalnum() - เพื่อตรวจสอบว่าข้อความเป็น palindrome หรือไม่ ให้เปรียบเทียบว่า cleaned text ตรงกับเวอร์ชันที่กลับด้านหรือเปล่า
- เติม placeholder ในส่วนของ
elseด้วย input เดิม เพื่อให้คืนค่าข้อความที่เหมาะสมสำหรับกรณีที่ไม่ใช่ palindrome
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
@tool
# Set input format to string
def palindrome_checker(text: ____) -> str:
"""Check if a word or phrase is a palindrome."""
# Remove non-alphanumeric characters and convert to lowercase
cleaned_text = ''.join(char.____() for char in ____ if char.____())
# Set up if-else block to check reversed text against original text
if cleaned_text == ____[::-1]:
return f"The phrase or word '{____}' is a palindrome."
else:
# Print an alternative statement if text is not a palindrome
____ f"The phrase or word '{____}' is not a palindrome."