

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

# Archiviazione della cronologia e del contesto delle conversazioni in una sessione
<a name="sessions-store-coversation"></a>

Dopo aver creato una sessione, utilizza l'[CreateInvocation](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_CreateInvocation.html)API per creare un raggruppamento di interazioni all'interno della sessione. Per ogni raggruppamento, utilizza le operazioni [PutInvocationStep](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_PutInvocationStep.html)API per memorizzare i checkpoint di stato, inclusi testo e immagini, per ogni interazione.

Il modo in cui organizzi le fasi di invocazione all’interno delle invocazioni dipende dal tuo caso d’uso. Ad esempio, se disponi di un agente che aiuta i clienti a effettuare prenotazioni di viaggio, l’invocazione e le fasi di invocazione potrebbero essere i seguenti:
+ L’invocazione potrebbe servire come raggruppamento per il testo di una conversazione tra un agente e un cliente che verifica la disponibilità di camere in un determinato hotel per diverse notti.
+ Ogni fase di invocazione può corrispondere a ciascun messaggio tra l’agente e l’utente e a ciascuna azione eseguita dall’agente per recuperare la disponibilità.

Nella tua [PutInvocationStep](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_PutInvocationStep.html)API, puoi importare immagini associate alla conversazione.
+ Puoi includere fino a 20 immagini. Le dimensioni, l’altezza e la larghezza di ciascuna immagine non devono superare rispettivamente 3,75 MB, 8000 px e 8000 px.
+ Puoi importare i seguenti tipi di immagini:
  + PNG
  + JPEG
  + GIF
  + WEBP

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

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

L’esempio di codice seguente mostra come aggiungere un’invocazione a una sessione attiva con AWS SDK per Python (Boto3). Per `sessionIdentifier`, puoi specificare il sessionId della sessione o il relativo nome della risorsa Amazon (ARN). Per ulteriori informazioni sull'API, consulta [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 esempio
<a name="session-put-invocation-step"></a>

L’esempio di codice seguente mostra come aggiungere una fase di invocazione a una sessione attiva con AWS SDK per Python (Boto3). Il codice aggiunge testo e un’immagine dalla directory di lavoro. Per `sessionIdentifier`, puoi specificare il sessionId della sessione o il relativo nome della risorsa Amazon (ARN). Per l’identificatore dell’invocazione, specifica l’identificatore univoco (in formato UUID) dell’invocazione a cui aggiungere la fase di invocazione. Per ulteriori informazioni sull'API, consulta [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}")
```