Dodawanie pamięci do rozmowy
Kontynuując pracę nad ChargeBotem w ChargeNet, będziesz zapisywać każdą turę dialogu i wysyłać do Claude'a tylko najnowsze wiadomości, aby utrzymać kontekst rozmowy z modelem Claude w Amazon Bedrock. Bot będzie zarządzać historią wiadomości i formatować konwersację w sposób zrozumiały dla Claude'a, korzystając wyłącznie z najnowszego kontekstu.
Biblioteki boto3 i json oraz klasa ConversationManager zdefiniowana w poprzednim ćwiczeniu zostały wstępnie załadowane.
To ćwiczenie jest częścią kursu
Wprowadzenie do Amazon Bedrock
Instrukcje do ćwiczenia
- Użyj metody
add_message(), aby zapisać dane wejściowe użytkownika. - Wyślij do Claude'a tylko dwie ostatnie wiadomości z historii, stosując właściwy format wiadomości.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
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)