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,
USERoASSISTANT) 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:
-
RetrieveMemoryRecordsUsare ListMemoryRecords o per verificare se sono stati visualizzati i record di memoria a lungo termine previsti.
-
Configura uno stream Kinesis per ricevere notifiche in tempo reale quando vengono creati record di memoria. Per le istruzioni di configurazione, consulta Memory record streaming.
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à.