View a markdown version of this page

AWS SDK - Base amazónica AgentCore

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

AWS SDK

Usa el AWS SDK para interactuar directamente con AgentCore Memory para controlar de forma minuciosa las operaciones de memoria. Los siguientes ejemplos muestran cómo acceder al SDK con el AWS SDK para Python (Boto3).

Instale las dependencias

pip install boto3

Agregue memoria a corto plazo

import boto3 from datetime import datetime # Initialize boto3 clients control_client = boto3.client('bedrock-agentcore-control', region_name='us-east-1') data_client = boto3.client('bedrock-agentcore', region_name='us-east-1') # Create short-term memory memory_response = control_client.create_memory( name="BasicMemory", description="Basic memory for short-term event storage", eventExpiryDuration=90 ) memory_id = memory_response['memory']['id'] actor_id = f"actor_{datetime.now().strftime('%Y%m%d%H%M%S')}" session_id = f"session_{datetime.now().strftime('%Y%m%d%H%M%S')}" # Create event with multiple conversation turns event = data_client.create_event( memoryId=memory_id, actorId=actor_id, sessionId=session_id, eventTimestamp=datetime.now(), payload=[ { 'conversational': { 'content': {'text': 'I like sushi with tuna'}, 'role': 'USER' } }, { 'conversational': { 'content': {'text': 'That sounds delicious! Tuna sushi is a great choice.'}, 'role': 'ASSISTANT' } }, { 'conversational': { 'content': {'text': 'I also like pizza'}, 'role': 'USER' } }, { 'conversational': { 'content': {'text': 'Pizza is another excellent choice! You have great taste in food.'}, 'role': 'ASSISTANT' } } ] )

Agregue memoria a largo plazo con estrategias

import boto3 import time from datetime import datetime # Initialize boto3 clients control_client = boto3.client('bedrock-agentcore-control', region_name='us-east-1') data_client = boto3.client('bedrock-agentcore', region_name='us-east-1') # Create long-term memory memory_response = control_client.create_memory( name=f"ComprehensiveMemory", description="Memory with strategies for long-term memory extraction", eventExpiryDuration=90, memoryStrategies=[ { 'summaryMemoryStrategy': { 'name': 'SessionSummarizer', 'namespaceTemplates': ['/summaries/{actorId}/{sessionId}/'] } }, { 'userPreferenceMemoryStrategy': { 'name': 'PreferenceLearner', 'namespaceTemplates': ['/preferences/{actorId}/'] } }, { 'semanticMemoryStrategy': { 'name': 'FactExtractor', 'namespaceTemplates': ['/facts/{actorId}/'] } } ] ) memory_id = memory_response['memory']['id'] actor_id = f"actor_{datetime.now().strftime('%Y%m%d%H%M%S')}" session_id = f"session_{datetime.now().strftime('%Y%m%d%H%M%S')}" ########## Wait for long-term memory to become active ########## while True: mem_status_response = control_client.get_memory(memoryId=memory_id) status = mem_status_response.get('memory', {}).get('status') if status == 'ACTIVE': print("Memory resource is now ACTIVE.") break elif status == 'FAILED': raise Exception("Memory resource creation FAILED.") print("Waiting for memory to become active...") time.sleep(10) # Create single event with all conversation turns event = data_client.create_event( memoryId=memory_id, actorId=actor_id, sessionId=session_id, eventTimestamp=datetime.now(), payload=[ { 'conversational': { 'content': {'text': 'I like sushi with tuna'}, 'role': 'USER' } }, { 'conversational': { 'content': {'text': 'That sounds delicious! Tuna sushi is a great choice.'}, 'role': 'ASSISTANT' } }, { 'conversational': { 'content': {'text': 'I also like pizza'}, 'role': 'USER' } }, { 'conversational': { 'content': {'text': 'Pizza is another excellent choice! You have great taste in food.'}, 'role': 'ASSISTANT' } } ] )

Puede encontrar la referencia completa de la API Amazon Bedrock AgentCore Memory sobre el AWS SDK en: