Zarządzanie konwersacjami z AI

Wprowadzenie do Amazon Bedrock

Nikhil Rangarajan

Data Scientist

Zarządzanie stanem konwersacji w Bedrock

  • Zarządzanie konwersacjami: kluczowe dla naturalnych interakcji z AI
  • Kontekst konwersacji: obejmuje historię i metadane
  • Modele Claude uwzględniają kontekst

Ilustracja przedstawiająca okręgi z elementami konwersacji: wiadomością, historią i metadanymi.

Wprowadzenie do Amazon Bedrock

Implementacja zarządzania konwersacją

  • Klasa ConversationManager obsługuje podstawową funkcjonalność konwersacji
  • Historia wiadomości przechowuje komunikaty użytkownika i asystenta wraz z rolami
  • Ustrukturyzowane podejście zapewnia skalowalność i łatwość utrzymania
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
})
Wprowadzenie do Amazon Bedrock

ConversationManager w praktyce

  • Dodawanie nowych wiadomości do dziennika konwersacji
  • Rejestrowanie danych wejściowych użytkownika
  • Pomoc modelowi w zachowaniu kontekstu

 

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

ConversationManager w praktyce

  • Formatowanie jako wiadomość
  • Ograniczanie ilości przesyłanego tekstu
  • Wysyłanie sformatowanej konwersacji do modelu
# 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)
Wprowadzenie do Amazon Bedrock

Czas na ćwiczenia!

Wprowadzenie do Amazon Bedrock

Preparing Video For Download...