开始使用免费开始使用

让对话具备记忆能力

继续在 ChargeNet 开发 ChargeBot。您将保存对话的每一轮,并仅将最新的消息发送给 Claude,以通过 Amazon Bedrock 的 Claude 模型维持对话上下文。该机器人会管理消息历史,并只用最近的上下文,将对话格式化为 Claude 能理解的形式。

boto3json 库,以及您在上一个练习中定义的 ConversationManager 类,已预加载。

本练习是课程的一部分

Amazon Bedrock 入门

查看课程

练习说明

  • 使用 add_message() 方法存储用户输入。
  • 仅以正确的消息格式,将历史中的最后两条消息发送给 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)
编辑并运行代码