View a markdown version of this page

Archiviare e recuperare la cronologia e il contesto delle conversazioni con le API per la gestione delle sessioni - Amazon Bedrock

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à.

Archiviare e recuperare la cronologia e il contesto delle conversazioni con le API per la gestione delle sessioni

Nota

Le API per la gestione delle sessioni sono in versione di anteprima per e sono soggette a modifica.

Le API di gestione delle sessioni consentono di salvare i checkpoint per le conversazioni in corso in applicazioni di intelligenza artificiale generativa create con framework open source, come e. LangGraph LlamaIndex È possibile utilizzare le API per gestire in modo sicuro lo stato e il contesto delle conversazioni in flussi di lavoro di IA generativa in più fasi. Non è necessario creare, mantenere o scalare soluzioni di back-end personalizzate per la persistenza dello stato e del contesto.

Con le API per la gestione delle sessioni è possibile procedere come segue:

  • Fasi del flusso di lavoro di checkpoint per test iterativi e flussi di lavoro human-in-the-loop.

  • Riprendere le conversazioni e le attività dal punto di interruzione.

  • Rivedere i log delle sessioni per analizzare le fasi del flusso di lavoro e gli errori di debug.

Poiché le sessioni sono una risorsa in Amazon Bedrock, puoi controllare l'accesso alla sessione con AWS Identity and Access Management (IAM). Per impostazione predefinita, Amazon Bedrock utilizza chiavi AWS gestite per la crittografia delle sessioni, inclusi i metadati della sessione, oppure puoi utilizzare la tua chiave. AWS KMS Per ulteriori informazioni, consulta Crittografia di una sessione.

Puoi creare e gestire sessioni Amazon Bedrock con le API o gli SDK di Amazon Bedrock. AWS Per le applicazioni basate su LangGraph, puoi usare la BedrockSessionSaver classe della libreria. langgraph_checkpoint_aws.saver Si tratta di un'implementazione personalizzata di LangGraph CheckpointSaver. Per ulteriori informazioni, vedere langgraph-checkpoint-aws nel repository. LangChain GitHub

Nota

Una sessione viene utilizzata per archiviare lo stato e la cronologia delle conversazioni per applicazioni di IA generativa create con framework open source. Per gli agenti Amazon Bedrock, il servizio gestisce automaticamente il contesto della conversazione e lo associa al sessionID specifico dell'agente specificato nell'operazione API. InvokeAgent

Esempio di caso d’uso

Potresti avere un'applicazione che utilizza un LangGraph agente per aiutare i clienti a pianificare gli itinerari di viaggio. Un utente può avviare una conversazione con questo agente per creare l’itinerario di un viaggio imminente, aggiungendo destinazioni, hotel preferiti e dettagli del volo.

Con le API per la gestione delle sessioni, l’agente può salvare gli stati intermedi e il contesto persistente nell’interazione estesa in più fasi. L’agente può utilizzare una sessione di Amazon Bedrock per verificarne lo stato dopo l’aggiunta di ogni destinazione, preservando i dettagli sulle preferenze del cliente.

Se la conversazione viene interrotta o non va a buon fine, l’agente può riprendere la sessione in un secondo momento senza alterare il contesto, inclusi testo e immagini. In questo modo l’agente può continuare senza richiedere al cliente di ripetere le informazioni. Inoltre, in caso di errore, è possibile esaminare i dettagli della sessione per eseguire il debug della causa.

Flusso di lavoro

Il flusso di lavoro per utilizzare le API per la gestione delle sessioni è il seguente. Per informazioni sull'uso della BedrockSessionSaver libreria, consultaGestisci le sessioni con la libreria BedrockSessionSaver LangGraph .

  • Crea una sessione: quando l'utente finale avvia la conversazione per la prima volta, crei una sessione con l'operazione CreateSessionAPI e specifichi un ID per la sessione. Questo ID viene utilizzato per archiviare e recuperare lo stato della conversazione.

  • Memorizza conversazioni e contesto: mentre gli utenti finali interagiscono con il tuo assistente AI generativo, utilizza l'CreateInvocationAPI per creare un raggruppamento di interazioni all'interno della sessione. Per ogni chiamata, utilizza le operazioni PutInvocationStepAPI per memorizzare checkpoint di stato dettagliati, inclusi testo e immagini, per ogni interazione.

  • Recupera la cronologia e il contesto delle conversazioni: utilizza le operazioni GetSessionListInvocations, e GetInvocationStepAPI per recuperare i metadati della sessione e i dettagli delle interazioni.

  • Termina la sessione: al termine della sessione, termina la sessione con l'EndSessionoperazione API. Dopo aver terminato una sessione, è possibile ancora accedere al suo contenuto, ma non è possibile aggiungerne altri. Per eliminare la sessione e il relativo contenuto, si utilizza l'operazione DeleteSessionAPI.

Considerazioni

Prima di creare e gestire le sessioni, tenere presente quanto segue:

  • Puoi creare e gestire sessioni con le API e AWS gli SDK di Amazon Bedrock. Non puoi utilizzare la console di AWS gestione per gestire le sessioni.

  • Per le applicazioni con agenti basate su LangGraph, puoi utilizzare la BedrockSessionSaver classe della langchain-aws libreria. Si tratta di un'implementazione personalizzata di LangGraph CheckpointSaver. Per informazioni sull'utilizzo della BedrockSessionSaver libreria, vedereGestisci le sessioni con la libreria BedrockSessionSaver LangGraph . Per visualizzare direttamente il codice, consulta langgraph-checkpoint-aws nel repository. LangChain GitHub

  • Se si specifica una AWS KMS chiave gestita dal cliente quando si crea una sessione, l'utente o il ruolo che crea la sessione deve disporre dell'autorizzazione per utilizzare la chiave. Per ulteriori informazioni, consulta Crittografia di una sessione.

  • Le API per la gestione delle sessioni hanno le seguenti quote:

    • Numero di fasi di invocazione in una sessione per tutte le invocazioni: 1000

    • Dimensione massima di ogni fase di invocazione: 50 MB

    • IdleSession Timeout: 1 ora

    • Periodo di conservazione: i dati della sessione vengono eliminati automaticamente dopo 30 giorni