As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Ingira conteúdo na memória de longo prazo
Use IngestData para enviar conteúdo diretamente para extração de memória de longo prazo, sem persistir como um evento de memória de curto prazo.
Quando usar IngestData
Use IngestData quando precisar de conteúdo destilado na memória de longo prazo, mas não precisar manter a interação bruta como um evento recuperável. Por exemplo:
-
Você só precisa dos registros de memória extraídos, não da interação literal.
-
Você quer evitar a sobrecarga de armazenamento de curto prazo decorrente da persistência de um evento que você nunca leria.
-
Seu aplicativo já retém as interações brutas, então você precisa apenas dos registros de longo prazo extraídos deles.
Como IngestData não armazena um evento de curto prazo, o conteúdo enviado não pode ser recuperado com GetEvent ListEventsListSessions, ou reorganizado com ramificações.
nota
Para manter a interação bruta como um evento de curto prazo, use CreateEvent em vez disso.
Como IngestData funciona
Uma solicitação bem-sucedida confirma que seu conteúdo foi aceito; os registros de memória de longo prazo resultantes ficam disponíveis após o processamento do conteúdo.
Após a conclusão do processamento, recupere os registros de memória de longo prazo resultantes usandoRetrieveMemoryRecords,ListMemoryRecords, ou GetMemoryRecord — as mesmas operações usadas para qualquer outro registro de memória de longo prazo.
IngestDatasuporta dois tipos de carga útil:
- Conversacional
-
Uma mensagem de conversa com uma função (por exemplo,
USERouASSISTANT) e conteúdo de texto. - JSON
-
JSON-formatted dados — como eventos comportamentais, registros de atividades ou eventos do sistema.
Opcionalmente, você pode anexar metadados para enriquecer os registros extraídos. Para obter mais informações, consulte Metadados estruturados para memórias de longo prazo.
Os registros extraídos têm como escopo um namespace. Para obter mais informações, consulte Especificar a organização da memória de longo prazo com namespaces.
O actorId identifica a entidade (por exemplo, um usuário final ou agente) e o conteúdo do sessionId grupo em uma sessão. O conteúdo que compartilha o mesmoactorId,sessionId, e o namespace são tratados como contexto relacionado durante a extração.
nota
IngestDatadireciona o conteúdo para as estratégias de memória de longo prazo configuradas pela memória, exceto as estratégias autogerenciadas, que têm seus próprios fluxos de trabalho de processamento de memória.
Exemplo
O exemplo a seguir contém conteúdo conversacional e não conversacional.
import boto3 from datetime import datetime # Initialize the Boto3 client for data plane operations data_client = boto3.client('bedrock-agentcore', region_name='us-west-2') response = data_client.ingest_data( memoryId='mem-12345abcdef', actorId='customer-123', sessionId='session-456', contentTimestamp=datetime.now(), source={ 'inline': { 'payload': [ { 'conversational': { 'content': {'text': 'I prefer window seats on flights.'}, 'role': 'USER' } }, { 'conversational': { 'content': {'text': "Noted — I'll remember your window seat preference."}, 'role': 'ASSISTANT' } }, { 'json': { 'content': { 'customer_tier': 'gold', 'preferences': {'seat': 'window', 'meal': 'vegetarian'}, 'loyalty_points': 48200 } } } ] } } ) # IngestData is asynchronous; the response echoes the session the content was ingested into. print(f"Ingested content into session: {response['sessionId']}")
Acompanhe o progresso da ingestão
Para rastrear o que acontece após uma solicitação bem-sucedida e detectar problemas, use as abordagens a seguir.
Verifique os resultados da extração
Após a ingestão, os registros de memória geralmente aparecem em segundos ou minutos, dependendo do tamanho do conteúdo e da configuração da estratégia. Para confirmar a conclusão da extração:
-
Use ListMemoryRecords ou RetrieveMemoryRecords para verificar se os registros de memória de longo prazo esperados apareceram.
-
Configure um stream do Kinesis para receber notificações em tempo real quando os registros de memória forem criados. Consulte Streaming de registros de memória para obter instruções de configuração.
Lidar com falhas de extração
Se a extração falhar, AgentCore move o trabalho que falhou para uma fila dedicada para seu recurso de memória. Use ListMemoryExtractionJobs para visualizar trabalhos que falharam e StartMemoryExtractionJob para reconduzi-los depois de resolver a causa raiz. Para saber os códigos do motivo da falha, as etapas de correção e como configurar o monitoramento proativo com a FailedExtraction CloudWatch métrica, consulte Ingestões falhadas do Redrive.
Para habilitar registros e rastreamentos de aplicativos para uma visibilidade mais profunda do ciclo de vida do processamento, consulte Habilitando a observabilidade para AgentCore tempo de execução, memória, gateway, ferramentas integradas e recursos de identidade.