Gerenciando conversas de IA

Introdução ao Amazon Bedrock

Nikhil Rangarajan

Data Scientist

Gerenciamento de estado da conversa no Bedrock

  • Gerenciar conversas: essencial pra interações naturais e coerentes
  • Contexto da conversa: inclui histórico e metadados
  • Modelos Claude consideram o contexto

Uma ilustração com círculos mostrando elementos da conversa: a mensagem, o histórico e os metadados.

Introdução ao Amazon Bedrock

Implementando o gerenciamento de conversas

  • A classe ConversationManager cuida do núcleo da conversa
  • O histórico armazena mensagens de usuário e assistente com papéis
  • Abordagem estruturada garante escala e manutenção
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
})
Introdução ao Amazon Bedrock

Usando o ConversationManager na prática

  • Adiciona novas mensagens ao log
  • Garante que a entrada do usuário seja registrada
  • Ajuda o modelo a manter o contexto

 

conversation_manager = ConversationManager()
conversation_manager.add_message("user", "What's the weather like?")
Introdução ao Amazon Bedrock

Usando o ConversationManager na prática

  • Formatar como mensagem
  • Limitar o texto enviado
  • Enviar a conversa formatada pro 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)
Introdução ao Amazon Bedrock

Vamos praticar!

Introdução ao Amazon Bedrock

Preparing Video For Download...