AI-conversaties beheren

Introductie tot Amazon Bedrock

Nikhil Rangarajan

Data Scientist

Gespreksstatus beheren in Bedrock

  • Gesprekken beheren: cruciaal voor natuurlijke, samenhangende AI-interactie
  • Context bevat geschiedenis en metadata
  • Claude-modellen houden rekening met context

Een illustratie met cirkels voor elk onderdeel van het gesprek: het bericht, de geschiedenis en de metadata.

Introductie tot Amazon Bedrock

Conversatiebeheer implementeren

  • ConversationManager-class regelt kernfunctionaliteit
  • Berichtenlog slaat user- en assistant-berichten met rollen op
  • Gestructureerde aanpak maakt schaalbaar en onderhoudbaar
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
})
Introductie tot Amazon Bedrock

ConversationManager in de praktijk

  • Voeg nieuwe berichten toe aan het logboek
  • Log altijd de invoer van de gebruiker
  • Help het model de context te behouden

 

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

ConversationManager in de praktijk

  • Formatteer als bericht
  • Beperk de hoeveelheid verzonden tekst
  • Stuur de geformatteerde conversatie naar het 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)
Introductie tot Amazon Bedrock

Laten we oefenen!

Introductie tot Amazon Bedrock

Preparing Video For Download...