始める無料で始める

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."
コードを編集して実行