

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Armazenar o histórico e o contexto da conversa em uma sessão
<a name="sessions-store-coversation"></a>

Depois de criar uma sessão, use a [CreateInvocation](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_CreateInvocation.html)API para criar um agrupamento de interações dentro da sessão. Para cada agrupamento, use as operações da [PutInvocationStep](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_PutInvocationStep.html)API para armazenar pontos de verificação de estado, incluindo texto e imagens, para cada interação.

A forma como você organiza as etapas de invocação dentro das invocações depende do seu caso de uso. Por exemplo, se você tem um agente que ajude os clientes a fazer reservas de viagens, a invocação e as etapas de invocação podem ser as seguintes:
+ A invocação pode servir como agrupamento para o texto de uma conversa entre um agente e um cliente para verificar a disponibilidade de quartos em um hotel específico para diferentes noites.
+ Cada etapa de invocação pode ser cada mensagem entre o agente e o usuário e cada etapa que o agente executa para recuperar a disponibilidade.

Na sua [PutInvocationStep](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_PutInvocationStep.html)API, você pode importar imagens associadas à conversa.
+ É possível incluir até vinte imagens. O tamanho, a altura e a largura de cada imagem não devem exceder 3,75 MB, 8.000 px e 8.000 px, respectivamente.
+ Você pode importar os seguintes tipos de imagem:
  + PNG
  + JPEG
  + GIF
  + WEBP

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

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

O exemplo de código a seguir mostra como adicionar uma invocação a uma sessão ativa com o AWS SDK para Python (Boto3). Para o `sessionIdentifier`, você pode especificar o sessionId ou o nome do recurso da Amazon (ARN) da sessão. Para obter mais informações sobre a 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 exemplo
<a name="session-put-invocation-step"></a>

O exemplo de código a seguir mostra como adicionar uma etapa de invocação a uma sessão ativa com o AWS SDK para Python (Boto3). O código adiciona texto e uma imagem proveniente do diretório de trabalho. Para o `sessionIdentifier`, você pode especificar o sessionId ou o nome do recurso da Amazon (ARN) da sessão. Para o identificador da invocação, especifique o identificador exclusivo (no formato UUID) da invocação à qual adicionar a etapa de invocação. Para obter mais informações sobre a 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}")
```