Xây dựng một tool bằng Python
Giờ đây chatbot của bạn đã có công cụ sự kiện lịch sử và Wikipedia, ban giám hiệu cũng muốn bạn bổ sung một công cụ ngữ pháp cho chương trình Tiếng Anh. Họ yêu cầu bạn xây dựng một bộ kiểm tra palindrome để xác định xem một cụm từ hoặc từ đầu vào có đọc giống nhau ngay cả khi gõ ngược hay không. Học sinh có thể dùng công cụ này để thử nhiều chuỗi đầu vào khác nhau để kiểm tra chúng có phải là palindrome hay không, như "level" hoặc "never odd or even", cả hai đều đọc giống nhau khi gõ ngược.
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
- Chỉ định kiểu đầu vào cho tool là một chuỗi (string).
- Chuyển các ký tự thành chữ thường bằng
.lower(), đồng thời loại bỏ mọi ký tự không phải chữ hoặc số bằng.isalnum(). - Để xác định văn bản có phải là palindrome hay không, kiểm tra xem văn bản đã làm sạch có khớp với phiên bản đảo ngược của nó không.
- Hoàn thiện các chỗ trống trong câu lệnh
elsebằng đầu vào gốc để trả về thông điệp phù hợp cho các trường hợp không phải palindrome.
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.
@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."