Gestire le conversazioni con l’IA

Introduzione ad Amazon Bedrock

Nikhil Rangarajan

Data Scientist

Gestione dello stato conversazionale in Bedrock

  • Gestione delle conversazioni: essenziale per interazioni IA naturali e coerenti
  • Contesto: include cronologia e metadati
  • I modelli Claude tengono conto del contesto

Illustrazione con cerchi che mostrano: messaggio, cronologia e metadati.

Introduzione ad Amazon Bedrock

Implementare la gestione delle conversazioni

  • La classe ConversationManager gestisce le funzioni base
  • La cronologia salva messaggi di utente e assistente con ruoli
  • Struttura solida per scalabilità e manutenzione
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
})
Introduzione ad Amazon Bedrock

Usare ConversationManager nella pratica

  • Aggiungi nuovi messaggi al log
  • Registra l’input dell’utente
  • Aiuta il modello a mantenere il contesto

 

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

Usare ConversationManager nella pratica

  • Formattta come messaggio
  • Limita il testo inviato
  • Invia la conversazione formattata al modello
# 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)
Introduzione ad Amazon Bedrock

Passiamo alla pratica!

Introduzione ad Amazon Bedrock

Preparing Video For Download...