Создание инструмента с помощью кода Python
Теперь, когда ваш чат-бот располагает инструментами для работы с историческими событиями и Wikipedia, школьная администрация хотела бы добавить ещё один инструмент — для уроков английского языка. Вам предлагается создать инструмент для проверки палиндромов, который определяет, читается ли введённая фраза или слово одинаково в обоих направлениях. Ученики смогут проверять разные строки: например, «level» или «never odd or even» — оба варианта читаются одинаково как слева направо, так и справа налево.
Это упражнение является частью курса
Проектирование агентных систем с LangChain
Инструкции к упражнению
- Укажите тип входных данных для инструмента как строку.
- Приведите символы к нижнему регистру с помощью
.lower(), убрав все небуквенно-цифровые символы с помощью.isalnum(). - Чтобы определить, является ли текст палиндромом, проверьте, совпадает ли очищенная строка со своей обратной версией.
- Заполните пропуски в блоке
else, подставив исходные входные данные, чтобы вернуть подходящее сообщение для случаев, когда текст не является палиндромом.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
@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."