Tornando uma conversa consciente da memória
Continuando o trabalho no ChargeBot na ChargeNet, você vai guardar cada parte do diálogo e mandar só as mensagens mais recentes pro Claude, pra manter o contexto da conversa com o modelo Claude da Amazon Bedrock. O bot vai cuidar do histórico das mensagens e formatar a conversa de um jeito que o Claude entenda, usando só o contexto mais recente.
As bibliotecas boto3
e json
, e a classe ConversationManager
que você definiu no exercício anterior, já estão carregadas.
Este exercício faz parte do curso
Introdução ao Amazon Bedrock
Instruções do exercício
- Use o método
add_message()
para guardar o que o usuário digitou. - Manda só as duas últimas mensagens do histórico pro Claude usando o formato certo.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
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)