Een gesprek geheugenbewust maken
Je werkt verder aan ChargeBot bij ChargeNet. Je slaat elke beurt van de dialoog op en stuurt alleen de meest recente berichten naar Claude om de gesprekscontext te behouden met het Claude-model van Amazon Bedrock. De bot beheert de berichtgeschiedenis en formatteert het gesprek op een manier die Claude begrijpt, met alleen de meest recente context.
De libraries boto3 en json, en de klasse ConversationManager die je in de vorige oefening hebt gedefinieerd, zijn al geladen.
Deze oefening maakt deel uit van de cursus
Introductie tot Amazon Bedrock
Oefeninstructies
- Gebruik de methode
add_message()om de invoer van de gebruiker op te slaan. - Stuur alleen de laatste twee berichten uit de geschiedenis naar Claude met het juiste berichtformaat.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
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)