View a markdown version of this page

Inserisci contenuti nella memoria a lungo termine - Fondamento Amazon AgentCore

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Inserisci contenuti nella memoria a lungo termine

Consente IngestData di inviare direttamente i contenuti per l'estrazione della memoria a lungo termine, senza renderli persistenti come evento di memoria a breve termine.

Quando usare IngestData

Usalo IngestData quando hai bisogno di contenuti distillati nella memoria a lungo termine ma non hai bisogno di conservare l'interazione grezza come evento recuperabile. Ad esempio:

  • Sono necessari solo i record di memoria estratti, non l'interazione letterale.

  • Vuoi evitare il sovraccarico di archiviazione a breve termine dovuto alla persistenza di un evento che non rileggeresti mai.

  • L'applicazione conserva già le interazioni non elaborate, quindi è necessario estrarne solo i record a lungo termine.

Poiché IngestData non memorizza un evento a breve termine, il contenuto inviato non può essere recuperato conGetEvent, o ListEventsListSessions, o riorganizzato con ramificazioni.

Nota

Per mantenere l'interazione grezza come evento a breve termine, usa invece. CreateEvent

Come IngestData funziona

Una richiesta andata a buon fine conferma che il contenuto è stato accettato; i record di memoria a lungo termine risultanti diventano disponibili dopo l'elaborazione del contenuto.

Al termine dell'elaborazione, recuperate i record di memoria a lungo termine risultanti utilizzandoRetrieveMemoryRecords,, o ListMemoryRecordsGetMemoryRecord, le stesse operazioni utilizzate per qualsiasi altro record di memoria a lungo termine.

IngestDatasupporta due tipi di payload:

Conversazionale

Un messaggio di conversazione con un ruolo (ad esempio, USER oASSISTANT) e un contenuto testuale.

JSON

JSON-formatted dati, ad esempio eventi comportamentali, registri delle attività o eventi di sistema.

Facoltativamente, puoi allegare metadati per arricchire i record estratti. Per ulteriori informazioni, consulta Metadati strutturati per memorie a lungo termine.

I record estratti sono associati a un namespace. Per ulteriori informazioni, vedere Specificare l'organizzazione della memoria a lungo termine con namespace.

actorIdIdentifica l'entità (ad esempio, un utente finale o un agente) e il contenuto del sessionId gruppo all'interno di una sessione. Il contenuto è condiviso allo stesso modo actorId e lo spazio dei nomi viene considerato come contesto correlato durante l'estrazione. sessionId

Nota

IngestDataaccede ai contenuti delle strategie di memoria a lungo termine configurate dalla memoria, ad eccezione delle strategie autogestite, che dispongono di propri flussi di lavoro di elaborazione della memoria.

Esempio

L'esempio seguente inserisce contenuti conversazionali e non conversazionali.

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']}")

Tieni traccia dell'avanzamento dell'ingestione

Per tenere traccia di ciò che accade dopo una richiesta andata a buon fine e rilevare i problemi, utilizza i seguenti approcci.

Verifica i risultati dell'estrazione

Dopo l'inserimento, i record di memoria vengono visualizzati in genere entro pochi secondi o minuti, a seconda delle dimensioni del contenuto e della configurazione della strategia. Per confermare il completamento dell'estrazione:

Gestisci gli errori di estrazione

Se l'estrazione non riesce, AgentCore sposta il processo non riuscito in una coda dedicata per la risorsa di memoria. ListMemoryExtractionJobsUsalo per visualizzare i lavori non riusciti e StartMemoryExtractionJob per ripristinarli dopo aver risolto la causa principale. Per informazioni sui codici delle cause degli errori, sulle procedure correttive e su come impostare il monitoraggio proattivo con la FailedExtraction CloudWatch metrica, consulta Redrive failed ingestions.

Per abilitare i log e le tracce delle applicazioni per una maggiore visibilità del ciclo di vita dell'elaborazione, vedi Abilitazione dell'osservabilità per AgentCore runtime, memory, gateway, strumenti integrati e risorse di identità.