始める無料で始める

会話にメモリを持たせる

ChargeNet の ChargeBot の作業を続けます。各ターンの対話を保存し、最新のメッセージだけを Claude に送って、Amazon Bedrock の Claude モデルで会話の文脈を維持します。ボットはメッセージ履歴を管理し、最新のコンテキストだけを使って、Claude が理解できる形式で会話を整形します。

boto3json のライブラリ、および前の演習で定義した ConversationManager クラスは事前に読み込まれています。

この演習はコースの一部です

Amazon Bedrock入門

コースを見る

演習の手順

  • add_message() メソッドを使って、ユーザーの入力を保存します。
  • 正しいメッセージ形式で、履歴から直近2件のみを Claude に送信します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

conversation = ConversationManager()

user_input = "What is the charging speed of your Highway Max station?"

# Add the user input
conversation.____
# Send only the last two messages from conversation history
messages = ____

request_body = json.dumps({"anthropic_version": "bedrock-2023-05-31", "max_tokens": 200, "temperature": 0.2, "messages": messages})
response = conversation.bedrock.invoke_model(modelId="us.anthropic.claude-sonnet-4-5-20250929-v1:0", body=request_body)
completion = json.loads(response['body'].read().decode())["content"][0]["text"]

conversation.add_message("assistant", completion)
print(completion)
コードを編集して実行