Crea una herramienta con código Python
Ahora que tu chatbot tiene disponibles las herramientas de eventos históricos y de Wikipedia, la dirección del colegio también quiere que añadas una herramienta de gramática para el currículo de inglés. Te han pedido que crees un comprobador de palíndromos que determine si una frase o palabra de entrada se lee igual incluso cuando se escribe al revés. El alumnado debería poder usar esta herramienta para probar distintos tipos de cadenas y comprobar si son palíndromos, como "level" o "never odd or even", que se leen igual al teclearlas al revés.
Este ejercicio forma parte del curso
Diseño de sistemas agénticos con LangChain
Instrucciones del ejercicio
- Especifica el tipo de entrada de la herramienta como una cadena (string).
- Convierte los caracteres a minúsculas usando
.lower()y elimina cualquier carácter no alfanumérico usando.isalnum(). - Para determinar si el texto es un palíndromo, comprueba si el texto limpiado coincide con su versión invertida.
- Completa los marcadores de posición de la sentencia
elsecon la entrada original para devolver el mensaje adecuado en los casos que no sean palíndromos.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
@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."