Ge konversationen ett minne
Du fortsätter arbetet med ChargeBot hos ChargeNet. Nu ska du lagra varje del av dialogen och bara skicka de senaste meddelandena till Claude, för att behålla konversationskontexten med Amazons Bedrock-modell Claude. Boten hanterar meddelandehistoriken och formaterar konversationen på ett sätt som Claude förstår – med enbart den senaste kontexten.
Biblioteken boto3 och json, samt klassen ConversationManager som du definierade i föregående övning, är förhandsinlästa.
Den här övningen är en del av kursen
Introduktion till Amazon Bedrock
Övningsinstruktioner
- Använd metoden
add_message()för att lagra användarens inmatning. - Skicka bara de två senaste meddelandena från historiken till Claude i rätt meddelandeformat.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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)