Rendre une conversation sensible à la mémoire
En poursuivant votre travail sur ChargeBot chez ChargeNet, vous enregistrerez chaque tour de dialogue et n'enverrez que les messages les plus récents à Claude, afin de conserver le contexte de la conversation avec le modèle Claude d'Amazon Bedrock. Le bot gérera l'historique des messages et mettra en forme la conversation de manière à ce que Claude puisse la comprendre, 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
- Veuillez utiliser la méthode «
add_message()» pour enregistrer les données saisies par l'utilisateur. - Veuillez envoyer uniquement les deux derniers messages de l'historique à Claude 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)