Gestionarea conversațiilor AI

Introducere în Amazon Bedrock

Nikhil Rangarajan

Data Scientist

Gestionarea stării conversației în Bedrock

  • Gestionarea conversațiilor: esențială pentru interacțiuni AI naturale și coerente
  • Contextul conversației: include istoricul și metadatele
  • Modelele Claude pot utiliza contextul

Ilustrație cu cercuri reprezentând elementele unei conversații: mesajul, istoricul și metadatele.

Introducere în Amazon Bedrock

Implementarea gestionării conversației

  • Clasa ConversationManager gestionează funcționalitatea de bază a conversației
  • Istoricul mesajelor stochează mesajele utilizatorului și ale asistentului, cu roluri
  • Abordarea structurată asigură scalabilitate și mentenabilitate
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
})
Introducere în Amazon Bedrock

Utilizarea ConversationManager în practică

  • Adăugați mesaje noi în jurnalul conversației
  • Asigurați înregistrarea intrării utilizatorului
  • Ajutați modelul să mențină contextul

 

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

Utilizarea ConversationManager în practică

  • Formatați ca mesaj
  • Limitați volumul de text trimis
  • Trimiteți conversația formatată către model
# 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)
Introducere în Amazon Bedrock

Să exersăm!

Introducere în Amazon Bedrock

Preparing Video For Download...