用 Python 代码构建一个工具
现在,您的聊天机器人已经可以使用历史事件和 Wikipedia 工具,校方还希望您为英语课程添加一个语法工具。他们要求您构建一个回文检测器,用于判断输入的短语或单词在反向输入时是否与正向相同。学生应当可以使用这个工具来测试不同类型的输入字符串是否为回文,例如 "level" 或 "never odd or even",它们在反向输入时读法相同。
本练习是课程的一部分
使用 LangChain 设计 Agentic 系统
练习说明
- 将工具的输入类型指定为字符串。
- 使用
.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."