Hantera AI-konversationer

Introduktion till Amazon Bedrock

Nikhil Rangarajan

Data Scientist

Hantering av konversationstillstånd i Bedrock

  • Konversationshantering: avgörande för naturliga och sammanhängande AI-interaktioner
  • Konversationskontext: inkluderar historik och metadata
  • Claude-modeller kan ta hänsyn till kontexten

En illustration med cirklar som var och en visar ett element i konversationen: meddelandet, historiken och metadata.

Introduktion till Amazon Bedrock

Implementera konversationshantering

  • Klassen ConversationManager hanterar kärnfunktionaliteten
  • Meddelandehistoriken lagrar både användar- och assistentmeddelanden med roller
  • En strukturerad metod säkerställer skalbarhet och underhållbarhet
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
})
Introduktion till Amazon Bedrock

Använda ConversationManager i praktiken

  • Lägg till nya meddelanden i konversationsloggen
  • Se till att användarens inmatning loggas
  • Hjälper modellen att bibehålla kontexten

 

conversation_manager = ConversationManager()
conversation_manager.add_message("user", "What's the weather like?")
Introduktion till Amazon Bedrock

Använda ConversationManager i praktiken

  • Formatera som meddelande
  • Begränsa mängden text som skickas
  • Skicka den formaterade konversationen till modellen
# 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)
Introduktion till Amazon Bedrock

Nu kör vi en övning!

Introduktion till Amazon Bedrock

Preparing Video For Download...