Crea uno strumento con codice Python
Ora che il tuo chatbot ha a disposizione gli strumenti per eventi storici e Wikipedia, l’amministrazione scolastica vorrebbe che aggiungessi anche uno strumento di grammatica per il programma di inglese. Ti è stato chiesto di costruire un verificatore di palindromi che stabilisca se una frase o una parola in input si legge uguale anche quando è digitata al contrario. Gli studenti dovrebbero poter usare questo strumento per provare diversi tipi di stringhe di input e verificare se sono palindromi, come "level" o "never odd or even", che in entrambi i casi si leggono allo stesso modo anche al contrario.
Questo esercizio fa parte del corso
Progettare sistemi agentici con LangChain
Istruzioni dell'esercizio
- Specifica il tipo di input per lo strumento come stringa.
- Converte i caratteri in minuscolo usando
.lower(), rimuovendo qualsiasi carattere non alfanumerico usando.isalnum(). - Per stabilire se il testo è un palindromo, verifica se il testo ripulito corrisponde alla sua versione invertita.
- Completa i segnaposto dell’istruzione
elsecon l’input originale per restituire il messaggio appropriato per i non palindromi.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
@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."