Rendre une conversation sensible à la mémoire
En poursuivant le travail sur ChargeBot chez ChargeNet, vous allez enregistrer chaque tour de dialogue et n'envoyer à Claude que les messages les plus récents, afin de conserver le contexte de la conversation avec le modèle Claude d'Amazon Bedrock. Le robot gérera l'historique des messages et formatera la conversation de façon que Claude la comprenne, en utilisant uniquement le contexte le plus récent.
Les bibliothèques boto3 et json, ainsi que la classe ConversationManager que vous avez définie dans l'exercice précédent, ont été préchargées.
Cette activité fait partie du cours
Introduction à Amazon Bedrock
Instructions de l’exercice
- Utilisez la méthode
add_message()pour enregistrer l'entrée de l'utilisateur. - N'envoyez à Claude que les deux derniers messages de l'historique en utilisant le format de message approprié.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
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)