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 préserver le contexte de la conversation avec le modèle Claude d’Amazon Bedrock. Le bot gérera l’historique des messages et formatera la conversation de manière compréhensible pour Claude, 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.
Cet exercice fait partie du cours
Introduction à Amazon Bedrock
Instructions
- Utilisez la méthode
add_message()pour enregistrer la saisie 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 cet exemple de code.
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="anthropic.claude-3-5-sonnet-20240620-v1:0", body=request_body)
completion = json.loads(response['body'].read().decode())["content"][0]["text"]
conversation.add_message("assistant", completion)
print(completion)