

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 del historial y el contexto de la conversación de una sesión
<a name="sessions-store-coversation"></a>

Después de crear una sesión, utilice la [CreateInvocation](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_CreateInvocation.html)API para crear un grupo de interacciones dentro de la sesión. Para cada agrupación, usa las operaciones de la [PutInvocationStep](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_PutInvocationStep.html)API para almacenar los puntos de control de estado, incluidos texto e imágenes, para cada interacción.

La forma de organizar los pasos de invocación dentro de las invocaciones depende del caso de uso. Por ejemplo, si tiene un agente que ayuda a los clientes a hacer reservas de viajes, la invocación y los pasos de la invocación podrían ser los siguientes:
+ La invocación puede servir para agrupar el texto de una conversación que un agente mantiene con un cliente para comprobar la disponibilidad de habitaciones en un hotel específico para distintas noches.
+ Cada paso de invocación puede consistir en cada mensaje entre el agente y el usuario, y en cada paso que el agente realice para recuperar la disponibilidad.

En tu [PutInvocationStep](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_PutInvocationStep.html)API, puedes importar las imágenes asociadas a la conversación.
+ Puede incluir un máximo de 20 imágenes. El tamaño, la altura y el ancho de cada imagen no deben ser superiores a 3,75 MB, 8000 píxeles y 8000 píxeles, respectivamente.
+ Puede importar los siguientes tipos de imágenes:
  + PNG
  + JPEG
  + GIF
  + WEBP

**Topics**
+ [CreateInvocation ejemplo](#session-create-invocation)
+ [PutInvocationSteps ejemplo](#session-put-invocation-step)

## CreateInvocation ejemplo
<a name="session-create-invocation"></a>

En el siguiente ejemplo de código se muestra cómo agregar una invocación a una sesión activa con el AWS SDK para Python (Boto3). Para el `sessionIdentifier`, puede especificar el sessionId de la sesión o su Nombre de recurso de Amazon (ARN). Para obtener más información sobre la API, consulte [CreateInvocation](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_CreateInvocation.html). 

```
def create_invocation(session_identifier):
try:
    invocationId = client.create_invocation(
        sessionIdentifier=session_identifier,
        description="User asking about weather in Seattle",
        invocationId="12345abc-1234-abcd-1234-abcdef123456"
    )["invocationId"]
    print("invocation created")
    return invocationId
except ClientError as e:
    print(f"Error: {e}")
```

## PutInvocationSteps ejemplo
<a name="session-put-invocation-step"></a>

En el siguiente ejemplo de código se muestra cómo agregar un paso de invocación a una sesión activa con el AWS SDK para Python (Boto3). El código añade texto y una imagen desde el directorio de trabajo. Para el `sessionIdentifier`, puede especificar el sessionId de la sesión o su Nombre de recurso de Amazon (ARN). Para el identificador de invocación, especifique el identificador único (en formato UUID) de la invocación a la que desee añadir el paso de invocación. Para obtener más información sobre la API, consulte [PutInvocationStep](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_PutInvocationStep.html). 

```
def put_invocation_step(invocation_identifier, session_identifier):
with open('weather.png', 'rb') as image_file:
    weather_image = image_file.read()

try:
    client.put_invocation_step(
        sessionIdentifier=session_identifier,
        invocationIdentifier=invocation_identifier,
        invocationStepId="12345abc-1234-abcd-1234-abcdef123456",
        invocationStepTime="2023-08-08T12:00:00Z",
        payload={
            'contentBlocks': [
                {
                    'text': 'What\'s the weather in Seattle?',

                },
                {
                    'image': {
                        'format': 'png',
                        'source': {'bytes': weather_image}
                    }
                }

            ]
        }
    )
    print("invocation step created")
except ClientError as e:
    print(f"Error: {e}")
```