Hacer que una conversación sea consciente de la memoria
Continuando con el trabajo en ChargeBot en ChargeNet, almacenarás cada turno del diálogo y enviarás solo los mensajes más recientes a Claude, para mantener el contexto de la conversación con el modelo Claude de Amazon Bedrock. El bot gestionará el historial de mensajes y dará formato a la conversación de forma que Claude pueda entenderla, utilizando solo el contexto más reciente.
Las bibliotecas boto3
y json
, así como la clase ConversationManager
que definiste en el ejercicio anterior, se han precargado.
Este ejercicio forma parte del curso
Introducción a Amazon Bedrock
Instrucciones del ejercicio
- Utiliza el método
add_message()
para almacenar la entrada del usuario. - Envía solo los dos últimos mensajes del historial a Claude utilizando el formato de mensaje correcto.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
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)