Gestión de conversaciones con IA

Introducción a Amazon Bedrock

Nikhil Rangarajan

Data Scientist

Gestión del estado de la conversación en Bedrock

  • Gestionar conversaciones: clave para interacciones naturales y coherentes
  • Contexto: historial y metadatos
  • Los modelos Claude tienen en cuenta el contexto

Ilustración con círculos que muestran elementos de la conversación: el mensaje, el historial y los metadatos.

Introducción a Amazon Bedrock

Implementar la gestión de conversaciones

  • La clase ConversationManager gestiona la funcionalidad central
  • El historial guarda mensajes de usuario y asistente con roles
  • Enfoque estructurado para escalar y mantener
class ConversationManager:

def __init__(self): self.bedrock = boto3.client('bedrock-runtime')
self.conversation_history = [] self.max_tokens = 8000
def add_message(self, role, content): self.conversation_history .append({"role": role,
"content": content
})
Introducción a Amazon Bedrock

Usar ConversationManager en la práctica

  • Añade nuevos mensajes al registro
  • Asegura que se guarde la entrada del usuario
  • Ayuda al modelo a mantener el contexto

 

conversation_manager = ConversationManager()
conversation_manager.add_message("user", "What's the weather like?")
Introducción a Amazon Bedrock

Usar ConversationManager en la práctica

  • Formatea como mensaje
  • Limita el texto enviado
  • Envía la conversación formateada al modelo
# Send the latest context to the model
conversation_history = conversation_manager.conversation_history
messages = "\n\n".join(
    f"{msg['role']}: {msg['content']}" 
    for msg in conversation_history[-2:]) # Only most recent exchanges


# Send the full message to the model response = conversation_manager.bedrock.invoke_model( modelId="amazon.nova-micro-v1:0", body=messages)
Introducción a Amazon Bedrock

¡Vamos a practicar!

Introducción a Amazon Bedrock

Preparing Video For Download...