View a markdown version of this page

Ingira conteúdo na memória de longo prazo - Base da Amazônia AgentCore

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, USER ouASSISTANT) 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:

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.