Hacer que la conversación sea consciente de la memoria
Siguiendo con ChargeBot en ChargeNet, vas a almacenar cada turno del diálogo y enviar 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 formateará la conversación de una forma que Claude pueda entender, usando únicamente el contexto más reciente.
Las bibliotecas boto3 y json, y la clase ConversationManager que definiste en el ejercicio anterior, ya están precargadas.
Este ejercicio forma parte del curso
Introducción a Amazon Bedrock
Instrucciones del ejercicio
- Usa el método
add_message()para guardar la entrada del usuario. - Envía solo los dos últimos mensajes del historial a Claude usando el formato de mensajes 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)