Gérer les conversations avec l'IA

Introduction à Amazon Bedrock

Nikhil Rangarajan

Data Scientist

Gestion de l'état de conversation dans Bedrock

  • Gestion des conversations : clé pour des interactions IA naturelles et cohérentes
  • Contexte de conversation : historique et métadonnées
  • Les modèles Claude tiennent compte du contexte

Une illustration montrant des cercles pour chaque élément de la conversation : le message, l'historique et les métadonnées.

Introduction à Amazon Bedrock

Mettre en œuvre la gestion de conversation

  • La classe ConversationManager gère les fonctions de base
  • L'historique stocke les messages utilisateur et assistant avec leurs rôles
  • Une approche structurée assure évolutivité et maintenance
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
})
Introduction à Amazon Bedrock

Utiliser ConversationManager en pratique

  • Ajouter de nouveaux messages au journal
  • Consigner l'entrée de l'utilisateur
  • Aider le modèle à garder le contexte

 

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

Utiliser ConversationManager en pratique

  • Formater en message
  • Limiter le texte envoyé
  • Envoyer la conversation formatée au modèle
# Envoyer le contexte le plus récent au modèle
conversation_history = conversation_manager.conversation_history
messages = "\n\n".join(
    f"{msg['role']}: {msg['content']}" 
    for msg in conversation_history[-2:]) # Seulement les échanges récents


# Envoyer le message complet au modèle response = conversation_manager.bedrock.invoke_model( modelId="amazon.nova-micro-v1:0", body=messages)
Introduction à Amazon Bedrock

Passons à la pratique !

Introduction à Amazon Bedrock

Preparing Video For Download...