Almacenamiento y recuperación del historial y el contexto de las conversaciones con las API de administración de sesiones - Amazon Bedrock

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Almacenamiento y recuperación del historial y el contexto de las conversaciones con las API de administración de sesiones

nota

Las API de administración de sesiones se encuentran en versión preliminar y están sujetas a cambios.

Las API de administración de sesiones le permiten guardar puntos de control para las conversaciones en curso en aplicaciones de IA generativa creadas con plataformas de código abierto, como LangGraph y LlamaIndex. Puede utilizar las API para administrar de forma segura el estado y el contexto de las conversaciones en los flujos de trabajo de IA generativa de varios pasos. No es necesario crear, mantener ni escalar soluciones de back-end personalizadas para la persistencia del estado y el contexto.

Con las API de administración de sesiones, puede hacer lo siguiente:

  • Comprobar las etapas del flujo de trabajo para realizar pruebas iterativas y flujos de trabajo con intervención humana

  • Reanudar las conversaciones y las tareas desde el punto de interrupción

  • Revisar los registros de las sesiones para analizar las etapas del flujo de trabajo y depurar los errores

Como las sesiones son un recurso de Amazon Bedrock, puede controlar el acceso a la sesión con AWS Identity and Access Management (IAM). De forma predeterminada, Amazon Bedrock usa claves administradas de AWS para el cifrado de la sesión, incluidos los metadatos de la sesión, o puede usar su propia clave de AWS KMS. Para obtener más información, consulte Cifrado de sesión.

Puede crear y administrar sesiones de Amazon Bedrock con las API de Amazon Bedrock o los SDK de AWS. Para las aplicaciones basadas en LangGraph, puede usar la clase BedrockSessionSaver de la biblioteca langgraph_checkpoint_aws.saver. Se trata de una implementación personalizada de CheckpointSaver de LangGraph. Para obtener más información, consulte langgraph-checkpoint-aws en el repositorio GitHub de LangChain.

nota

Para almacenar el estado y el historial de conversaciones de las aplicaciones de IA generativa creadas con plataformas de código abierto se usa una sesión. Para Agentes para Amazon Bedrock, el servicio administra automáticamente el contexto de la conversación y lo asocia al sessionId específico del agente que especifique en la operación de la API InvokeAgent.

Ejemplo de casos de uso

Es posible que tenga una aplicación que utilice un agente de LangGraph para ayudar a los clientes a planificar sus itinerarios de viaje. Un usuario puede iniciar una conversación con este agente para crear el itinerario de un próximo viaje, añadiendo destinos, hoteles preferidos y datos de los vuelos.

Con las API de administración de sesiones, el agente puede guardar los estados intermedios y el contexto persistente a lo largo de la interacción ampliada de varios pasos. El agente podría utilizar una sesión de Amazon Bedrock para comprobar su estado después de añadir cada destino y conservar los detalles sobre las preferencias del cliente.

Si la conversación se interrumpe o se produce un error, el agente puede reanudar la sesión más tarde con el contexto intacto, incluidos el texto y las imágenes. Esto permite al agente continuar sin necesidad de que el cliente repita la información. Además, en caso de error, puede investigar los detalles de la sesión para depurar la causa.

Flujo de trabajo

El flujo de trabajo para usar las API de administración de sesiones es el siguiente. Para obtener información acerca del uso de la biblioteca BedrockSessionSaver, consulte Administración de las sesiones con la biblioteca BedrockSessionSaver de LangGraph.

  • Crear una sesión: cuando el usuario final inicia la conversación por primera vez, usted crea una sesión con la operación de la API CreateSession y especifica un ID para la sesión. Este ID se utiliza para almacenar y recuperar el estado de la conversación.

  • Almacenar las conversaciones y el contexto: a medida que los usuarios finales interactúan con su asistente de IA generativa, utilice la API CreateInvocation para crear un grupo de interacciones dentro de la sesión. Para cada invocación, use las operaciones de la API PutInvocationStep para almacenar puntos de control de estado detallados, incluidos texto e imágenes, para cada interacción.

  • Recuperar el historial y el contexto de la conversación: utilice las operaciones de las API GetSession, ListInvocations y GetInvocationStep para recuperar los metadatos de la sesión y los detalles de las interacciones.

  • Finalizar la sesión: cuando se complete la sesión, finalice la sesión con la operación de la API EndSession. Una vez finalizada una sesión, podrá seguir accediendo a su contenido, pero no podrá añadirlo. Para eliminar la sesión y su contenido, usa la operación de la API DeleteSession.

Consideraciones

Antes de crear y administrar sesiones, tenga en cuenta lo siguiente:

  • Puede crear y administrar sesiones con las API de Amazon Bedrock y los SDK de AWS. No puede usar la Consola de administración de AWS para administrar las sesiones.

  • Para las aplicaciones de agente basadas en LangGraph, puede usar la clase BedrockSessionSaver de la biblioteca langchain-aws. Se trata de una implementación personalizada de CheckpointSaver de LangGraph. Para obtener información acerca del uso de la biblioteca BedrockSessionSaver, consulte Administración de las sesiones con la biblioteca BedrockSessionSaver de LangGraph. Para ver el código directamente, consulte langgraph-checkpoint-aws en el repositorio GitHub de LangChain.

  • Si especifica una clave de AWS KMS administrada por el cliente al crear una sesión, el usuario o rol que crea la sesión debe tener permiso para usar la clave. Para obtener más información, Cifrado de sesión.

  • Las API de administración de sesiones tienen las siguientes cuotas:

    • Número de pasos de invocación en una sesión en todas las invocaciones: 1000

    • Tamaño máximo de cada paso de invocación: 50 MB

    • Tiempo de espera de IdleSession: 1 hora

    • Período de retención: los datos de la sesión se eliminan automáticamente después de 30 días