Добавление памяти в диалог
Продолжая работу над ChargeBot в ChargeNet, вы будете сохранять каждый шаг диалога и отправлять Claude только самые последние сообщения, чтобы поддерживать контекст разговора с моделью Claude от Amazon Bedrock. Бот будет управлять историей сообщений и форматировать диалог так, чтобы Claude мог его понять, опираясь только на самый актуальный контекст.
Библиотеки boto3 и json, а также класс 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)