Stockage et récupération de l’historique et du contexte des conversations grâce aux API de gestion de session - Amazon Bedrock

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Stockage et récupération de l’historique et du contexte des conversations grâce aux API de gestion de session

Note

Les API de gestion de session sont en version préliminaire et sont susceptibles d’être modifiées.

Les API de gestion de session vous permettent d’enregistrer des points de contrôle pour les conversations en cours dans des applications d’IA génératives conçues avec des cadres open source, tels que LangGraph et LlamaIndex. Vous pouvez utiliser les API pour gérer en toute sécurité l’état et le contexte des conversations dans le cadre de flux de travail d’IA générative en plusieurs étapes. Il n’est pas nécessaire de créer, de gérer ou de mettre à l’échelle des solutions dorsales personnalisées pour garantir la persistance de l’état et du contexte.

Grâce à les API de gestion de session, vous pouvez effectuer les opérations suivantes :

  • Utiliser les étapes de flux de travail de points de contrôle pour les tests itératifs et les flux de travail avec intervention humaine

  • Reprendre les conversations et les tâches à partir du point d’interruption

  • Examiner les journaux de session pour analyser les étapes du flux de travail et les échecs de débogage

Les sessions constituant une ressource dans Amazon Bedrock, vous pouvez contrôler l’accès à la session avec Gestion des identités et des accès AWS (IAM). Par défaut, Amazon Bedrock utilise les clés gérées AWS pour le chiffrement des sessions, y compris les métadonnées de session, ou vous pouvez utiliser votre propre clé AWS KMS. Pour plus d’informations, consultez Chiffrement de session.

Vous pouvez créer et gérer des sessions Amazon Bedrock avec les API Amazon Bedrock ou les kits AWS SDK. Pour les applications basées sur LangGraph, vous pouvez utiliser la classe BedrockSessionSaver de la bibliothèque langgraph_checkpoint_aws.saver. Il s’agit d’une implémentation personnalisée de LangGraph CheckpointSaver. Pour plus d’informations, consultez langgraph-checkpoint-aws dans le référentiel GitHub LangChain.

Note

Vous utilisez une session pour stocker l’état et l’historique des conversations pour les applications d’IA générative conçues avec des cadres open source. Pour les agents Amazon Bedrock, le service gère automatiquement le contexte des conversations et les associe à l’ID de session (sessionId) spécifique à l’agent que vous spécifiez dans l’opération d’API InvokeAgent.

Exemple de cas d’utilisation

Vous disposez peut-être d’une application qui utilise un agent LangGraph pour aider les clients à planifier leurs itinéraires de voyage. Un utilisateur peut démarrer une conversation avec cet agent pour créer l’itinéraire d’un prochain voyage, ajouter des destinations, des hôtels préférés et les détails des vols.

Grâce aux API de gestion de session, l’agent peut enregistrer des états intermédiaires et un contexte persistant tout au long de l’interaction étendue en plusieurs étapes. L’agent peut utiliser une session Amazon Bedrock pour vérifier son état à l’aide de points de contrôle après l’ajout de chaque destination, en préservant les informations relatives aux préférences du client.

Si la conversation est interrompue ou échoue, l’agent peut reprendre la session ultérieurement avec le contexte intact, y compris le texte et les images. Cela permet à l’agent de continuer sans obliger le client à répéter les informations. De plus, en cas d’échec, vous pouvez examiner les détails de la session pour en déterminer la cause.

Flux de travail

Le flux de travail pour utiliser les API de gestion de session est le suivant. Pour plus d’informations sur l’utilisation de la bibliothèque BedrockSessionSaver, consultez Gestion des sessions avec la bibliothèque LangGraph BedrockSessionSaver.

  • Créer une session : lorsque l’utilisateur final lance la conversation pour la première fois, vous créez une session avec l’opération d’API CreateSession et vous spécifiez un ID pour la session. Vous utilisez cet ID lorsque vous stockez et récupérez l’état de la conversation.

  • Stocker les conversations et le contexte : lorsque les utilisateurs finaux interagissent avec votre assistant d’IA générative, utilisez l’API CreateInvocation pour créer un groupe d’interactions au sein de la session. Pour chaque invocation, utilisez les opérations d’API PutInvocationStep pour stocker des points de contrôle d’état précis, notamment du texte et des images, pour chaque interaction.

  • Récupérer le contexte et l’historique des conversations : utilisez les opérations d’API GetSession, ListInvocations et GetInvocationStep pour récupérer les métadonnées de session et les détails des interactions.

  • Terminer la session : lorsque la session est terminée, terminez la session avec l’opération d’API EndSession. Une fois que vous avez mis fin à une session, vous pouvez toujours accéder à son contenu, mais vous ne pouvez rien y ajouter. Pour supprimer la session et son contenu, utilisez l’opération d’API DeleteSession.

Considérations

Avant de créer et de gérer des sessions, prenez en considération les éléments suivants :

  • Vous pouvez créer et gérer des sessions avec les API Amazon Bedrock ou les kits AWS SDK. Vous ne pouvez pas utiliser la console de gestion AWS pour gérer les sessions.

  • Pour les applications d’agents basées sur LangGraph, vous pouvez utiliser la classe BedrockSessionSaver de la bibliothèque langchain-aws. Il s’agit d’une implémentation personnalisée de LangGraph CheckpointSaver. Pour plus d’informations sur l’utilisation de la bibliothèque BedrockSessionSaver, consultez Gestion des sessions avec la bibliothèque LangGraph BedrockSessionSaver. Pour afficher le code directement, consultez langgraph-checkpoint-aws dans le référentiel GitHub LangChain.

  • Si vous spécifiez une clé AWS KMS gérée par le client lorsque vous créez une session, l’utilisateur ou le rôle qui crée la session doit être autorisé à utiliser la clé. Pour plus d’informations, consultez, Chiffrement de session.

  • Les API de gestion de session ont les quotas suivants :

    • Nombre d’étapes d’invocation dans une session, toutes invocations confondues : 1 000

    • Taille maximale de chaque étape d’invocation : 50 Mo

    • Délai d’expiration IdleSession : 1 heure

    • Période de conservation : les données de session sont automatiquement supprimées après 30 jours