

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

# Invio di una serie di prompt con l’API batch di OpenAI
<a name="inference-openai-batch"></a>

Puoi eseguire un processo di inferenza in batch utilizzando l’[API Create batch di OpenAI](https://platform.openai.com/docs/api-reference/batch) con modelli Amazon Bedrock OpenAI.

Puoi chiamare l’API Create batch di OpenAI nei modi seguenti:
+ Effettuare una richiesta HTTP con un endpoint di runtime Amazon Bedrock.
+ Utilizzare una richiesta OpenAI SDK con un endpoint di runtime Amazon Bedrock.

Per ulteriori informazioni, scegli un argomento:

**Topics**
+ [Regioni e modelli supportati per l’API batch di OpenAI](#inference-openai-batch-supported)
+ [Prerequisiti di utilizzo dell’API batch di OpenAI.](#inference-openai-batch-prereq)
+ [Creazione di un processo in batch di OpenAI](#inference-openai-batch-create)
+ [Recupera un processo in batch di OpenAI](#inference-openai-batch-retrieve)
+ [Elenco dei processi in batch di OpenAI](#inference-openai-batch-list)
+ [Annullamento di un processo in batch di OpenAI](#inference-openai-batch-cancel)

## Regioni e modelli supportati per l’API batch di OpenAI
<a name="inference-openai-batch-supported"></a>

Puoi utilizzare l'API OpenAI Create batch con tutti i OpenAI modelli supportati in Amazon Bedrock e nelle AWS regioni che supportano questi modelli. Per ulteriori informazioni sulle Regioni e i modelli supportati, consulta [Modelli di fondazione supportati in Amazon Bedrock](models-supported.md).

## Prerequisiti di utilizzo dell’API batch di OpenAI.
<a name="inference-openai-batch-prereq"></a>

Per visualizzare i prerequisiti per l’utilizzo delle operazioni dell’API batch di OpenAI, scegli la scheda corrispondente al metodo preferito, quindi segui le fasi:

------
#### [ OpenAI SDK ]
+ **Autenticazione**: OpenAI SDK supporta solo l’autenticazione con una chiave API Amazon Bedrock. Genera una chiave API Amazon Bedrock per autenticare la tua richiesta. Per informazioni sulle chiavi API di Amazon Bedrock e su come generarle, consulta la sezione Chiavi API nel capitolo Build.
+ **Endpoint**: trova l'endpoint che corrisponde alla AWS regione da utilizzare negli [endpoint e nelle quote di Amazon Bedrock Runtime](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#br-rt). Se utilizzi un AWS SDK, potresti dover specificare solo il codice regionale e non l'intero endpoint quando configuri il client.
+ **Accesso al modello**: richiedi l’accesso a un modello Amazon Bedrock che supporti questa funzionalità. Per ulteriori informazioni, consulta [Gestisci l'accesso ai modelli tramite SDK e CLI](model-access.md#model-access-modify).
+ **Installa OpenAI SDK**: per ulteriori informazioni, consulta [Librerie](https://platform.openai.com/docs/libraries) nella documentazione OpenAI.
+ **File batch JSONL caricato su S3**: segui le fasi in [Preparazione del file batch](https://platform.openai.com/docs/guides/batch#1-prepare-your-batch-file) nella documentazione OpenAI per preparare il file batch con il formato corretto. Quindi caricalo in un bucket Amazon S3.
+ **Autorizzazioni IAM**: assicurati di disporre delle seguenti identità IAM con le autorizzazioni appropriate:
  + Un’identità IAM con cui esegui l’autenticazione può effettuare operazioni API relative all’inferenza in batch. Per ulteriori informazioni, consulta [Autorizzazioni necessarie a un’identità IAM per inviare e gestire processi di inferenza in batch](batch-inference-permissions.md).
  + Il ruolo di servizio di inferenza in batch che utilizzi può assumere la tua identità, invocare il modello di OpenAI che utilizzi e avere accesso al tuo file batch JSONL in S3. Per ulteriori informazioni, consulta [Ruoli di servizio](security-iam-sr.md).

------
#### [ HTTP request ]
+ **Autenticazione**: puoi autenticarti con AWS le tue credenziali o con una chiave API Amazon Bedrock.

  Configura AWS le tue credenziali o genera una chiave API Amazon Bedrock per autenticare la tua richiesta.
  + Per ulteriori informazioni sulla configurazione delle AWS credenziali, consulta Accesso [programmatico](https://docs.aws.amazon.com/IAM/latest/UserGuide/security-creds-programmatic-access.html) con credenziali di sicurezza. AWS 
  + Per informazioni sulle chiavi API di Amazon Bedrock e su come generarle, consulta la sezione Chiavi API nel capitolo Build.
+ **Endpoint**: trova l'endpoint che corrisponde alla AWS regione da utilizzare negli [endpoint e nelle quote di Amazon Bedrock Runtime](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#br-rt). Se utilizzi un AWS SDK, potresti dover specificare solo il codice regionale e non l'intero endpoint quando configuri il client.
+ **Accesso al modello**: richiedi l’accesso a un modello Amazon Bedrock che supporti questa funzionalità. Per ulteriori informazioni, consulta [Gestisci l'accesso ai modelli tramite SDK e CLI](model-access.md#model-access-modify).
+ **File batch JSONL caricato su S3**: segui le fasi in [Preparazione del file batch](https://platform.openai.com/docs/guides/batch#1-prepare-your-batch-file) nella documentazione OpenAI per preparare il file batch con il formato corretto. Quindi caricalo in un bucket Amazon S3.
+ **Autorizzazioni IAM**: assicurati di disporre delle seguenti identità IAM con le autorizzazioni appropriate:
  + Un’identità IAM con cui esegui l’autenticazione può effettuare operazioni API relative all’inferenza in batch. Per ulteriori informazioni, consulta [Autorizzazioni necessarie a un’identità IAM per inviare e gestire processi di inferenza in batch](batch-inference-permissions.md).
  + Il ruolo di servizio di inferenza in batch che utilizzi può assumere la tua identità, invocare il modello di OpenAI che utilizzi e avere accesso al tuo file batch JSONL in S3. Per ulteriori informazioni, consulta [Ruoli di servizio](security-iam-sr.md).

------

## Creazione di un processo in batch di OpenAI
<a name="inference-openai-batch-create"></a>

Per i dettagli sull’API Create batch di OpenAI, consulta le seguenti risorse nella documentazione OpenAI:
+ [Crea batch](https://platform.openai.com/docs/api-reference/batch/create): descrive in dettaglio sia la richiesta che la risposta.
+ [L’oggetto di output della richiesta](https://platform.openai.com/docs/api-reference/batch/request-output): descrive in dettaglio i campi dell’output generato dal processo in batch. Per interpretare i risultati nel bucket S3, consulta questa documentazione.

**Avanzamento della richiesta**  
Durante la creazione della richiesta di inferenza in batch, prendi nota dei seguenti campi e valori specifici di Amazon Bedrock:

**Intestazioni della richiesta**
+ X-Amzn-Bedrock-RoleArn (obbligatorio) — L'Amazon Resource Name (ARN) del ruolo del servizio di inferenza in batch. Per ulteriori informazioni, consulta [Creazione di un ruolo di servizio per l’inferenza in batch](batch-iam-sr.md)
+ X-Amzn-Bedrock-ModelId (obbligatorio) — L'ID del modello di base da utilizzare nell'inferenza. Per ulteriori informazioni, consulta [Modelli di fondazione supportati in Amazon Bedrock](models-supported.md).
+ X-Amzn-Bedrock-OutputEncryptionKeyId (opzionale) — L'ID di una chiave KMS che si desidera utilizzare per crittografare i file S3 di output. Per ulteriori informazioni, consulta [Specificare la crittografia lato server con (SSE-KMS). AWS KMS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/specifying-kms-encryption.html)
+ X-Amzn-Bedrock-Tags (opzionale) — Un dizionario di chiavi e valori che indica i tag da allegare all'output. Per ulteriori informazioni, consulta [Assegnazione di tag alle risorse Amazon Bedrock](tagging.md).

**Parametri del corpo della richiesta:**
+ endpoint: deve essere `v1/chat/completions`.
+ input\$1file\$1id: specifica l’URI S3 del file batch JSONL.

**Trova i risultati generati**  
La risposta alla creazione include un ID batch. I risultati e la registrazione di log degli errori del processo di inferenza in batch vengono scritti nella cartella S3 contenente il file di input. I risultati si troveranno in una cartella con lo stesso nome dell’ID batch, come nella seguente struttura di cartelle:

```
---- {batch_input_folder}
        |---- {batch_input}.jsonl
        |---- {batch_id}
	           |---- {batch_input}.jsonl.out
	           |---- {batch_input}.jsonl.err
```

Per vedere esempi di utilizzo dell’API Create batch di OpenAI con metodi diversi, scegli la scheda corrispondente al metodo preferito, quindi segui le fasi:

------
#### [ OpenAI SDK (Python) ]

Per creare un processo in batch con OpenAI SDK, procedi come segue:

1. Importa il componente SDK OpenAI e configura il client con i seguenti campi:
   + `base_url`: anteponi l’endpoint di runtime Amazon Bedrock a `/openai/v1`, come nel seguente formato:

     ```
     https://${bedrock-runtime-endpoint}/openai/v1
     ```
   + `api_key`: specifica una chiave API Amazon Bedrock.
   + `default_headers`: se è necessario includere intestazioni, includile come coppie chiave-valore in questo oggetto. In alternativa, puoi specificare le intestazioni in `extra_headers` quando effettui una chiamata API specifica.

1. Utilizza il metodo [batches.create()](https://platform.openai.com/docs/api-reference/batch/create) con il client.

Prima di eseguire l’esempio riportato più avanti, sostituisci i segnaposti nei seguenti campi:
+ api\$1key — Sostituisci *\$1AWS\$1BEARER\$1TOKEN\$1BEDROCK* con la tua chiave API effettiva.
+ X-Amzn-BedrockRoleArn — Sostituisci *arn:aws:iam::123456789012:role/BatchServiceRole* con l'effettivo ruolo del servizio di inferenza in batch che hai impostato.
+ input\$1file\$1id — Sostituisci *s3://amzn-s3-demo-bucket/openai-input.jsonl* con l'URI S3 effettivo in cui hai caricato il file JSONL batch.

L’esempio chiama l’API del processo Create batch di OpenAI in `us-west-2` e include una parte di metadati.

```
from openai import OpenAI

client = OpenAI(
    base_url="https://bedrock-runtime.us-west-2.amazonaws.com/openai/v1", 
    api_key="$AWS_BEARER_TOKEN_BEDROCK", # Replace with actual API key
    default_headers={
        "X-Amzn-Bedrock-RoleArn": "arn:aws:iam::123456789012:role/BatchServiceRole" # Replace with actual service role ARN
    }
)

job = client.batches.create(
    input_file_id="s3://amzn-s3-demo-bucket/openai-input.jsonl", # Replace with actual S3 URI
    endpoint="/v1/chat/completions",
    completion_window="24h",
    metadata={
        "description": "test input"
    },
    extra_headers={
        "X-Amzn-Bedrock-ModelId": "openai.gpt-oss-20b-1:0",
    }
)
print(job)
```

------
#### [ HTTP request ]

Per creare un completamento della chat con una richiesta HTTP diretta, procedi come segue:

1. Utilizza il metodo POST e specifica l’URL anteponendo l’endpoint di runtime Amazon Bedrock a `/openai/v1/batches`, come nel seguente formato:

   ```
   https://${bedrock-runtime-endpoint}/openai/v1/batches
   ```

1. Specificate AWS le vostre credenziali o una chiave API Amazon Bedrock nell'`Authorization`intestazione.

Prima di eseguire l’esempio riportato più avanti, sostituisci prima i segnaposti nei seguenti campi:
+ Autorizzazione: sostituiscila *\$1AWS\$1BEARER\$1TOKEN\$1BEDROCK* con la tua chiave API effettiva.
+ X-Amzn-BedrockRoleArn — Sostituisci *arn:aws:iam::123456789012:role/BatchServiceRole* con l'effettivo ruolo del servizio di inferenza in batch che hai impostato.
+ input\$1file\$1id — Sostituisci *s3://amzn-s3-demo-bucket/openai-input.jsonl* con l'URI S3 effettivo in cui hai caricato il file JSONL batch.

L’esempio seguente chiama l’API Create chat completion in `us-west-2` e include un insieme di metadati:

```
curl -X POST 'https://bedrock-runtime.us-west-2.amazonaws.com/openai/v1/batches' \
    -H 'Authorization: Bearer $AWS_BEARER_TOKEN_BEDROCK' \  
    -H 'Content-Type: application/json' \
    -H 'X-Amzn-Bedrock-ModelId: openai.gpt-oss-20b-1:0' \
    -H 'X-Amzn-Bedrock-RoleArn: arn:aws:iam::123456789012:role/BatchServiceRole' \  
    -d '{    
    "input_file_id": "s3://amzn-s3-demo-bucket/openai-input.jsonl",    
    "endpoint": "/v1/chat/completions",    
    "completion_window": "24h",
    "metadata": {"description": "test input"}  
}'
```

------

## Recupera un processo in batch di OpenAI
<a name="inference-openai-batch-retrieve"></a>

Per informazioni dettagliate sulla richiesta e sulla risposta dell’API Retrieve batch di OpenAI, consulta [Recupero in batch](https://platform.openai.com/docs/api-reference/batch/retrieve).

Quando effettui la richiesta, specifica l’ID del processo in batch per il quale ottenere le informazioni. La risposta restituisce informazioni su un processo in batch, inclusi i nomi dei file di output e di errore che puoi cercare nei tuoi bucket S3.

Per vedere esempi di utilizzo dell’API Retrieve batch OpenAI con metodi diversi, scegli la scheda corrispondente al metodo preferito, quindi segui i passaggi:

------
#### [ OpenAI SDK (Python) ]

Per recuperare un processo in batch con OpenAI SDK, procedi come segue:

1. Importa il componente SDK OpenAI e configura il client con i seguenti campi:
   + `base_url`: anteponi l’endpoint di runtime Amazon Bedrock a `/openai/v1`, come nel seguente formato:

     ```
     https://${bedrock-runtime-endpoint}/openai/v1
     ```
   + `api_key`: specifica una chiave API Amazon Bedrock.
   + `default_headers`: se è necessario includere intestazioni, includile come coppie chiave-valore in questo oggetto. In alternativa, puoi specificare le intestazioni in `extra_headers` quando effettui una chiamata API specifica.

1. Utilizza il metodo [batches.retrieve()](https://platform.openai.com/docs/api-reference/batch/create) con il client e specifica l’ID del batch per il quale recuperare le informazioni.

Prima di eseguire l’esempio riportato più avanti, sostituisci i segnaposti nei seguenti campi:
+ api\$1key — Sostituisci con la tua chiave API effettiva. *\$1AWS\$1BEARER\$1TOKEN\$1BEDROCK*
+ batch\$1id — Sostituisci *\$1AWS\$1BEARER\$1TOKEN\$1BEDROCK* con la tua chiave API effettiva.

L'esempio richiama l'API OpenAI Retrieve batch job `us-west-2` su un processo batch il cui ID è. *batch\$1abc123*

```
from openai import OpenAI

client = OpenAI(
    base_url="https://bedrock-runtime.us-west-2.amazonaws.com/openai/v1", 
    api_key="$AWS_BEARER_TOKEN_BEDROCK" # Replace with actual API key
)

job = client.batches.retrieve(batch_id="batch_abc123") # Replace with actual ID

print(job)
```

------
#### [ HTTP request ]

Per recuperare un processo in batch con una richiesta HTTP diretta, procedi come segue:

1. Utilizza il metodo GET e specifica l’URL anteponendo l’endpoint di runtime Amazon Bedrock a `/openai/v1/batches/${batch_id}`, come nel seguente formato:

   ```
   https://${bedrock-runtime-endpoint}/openai/v1/batches/batch_abc123
   ```

1. Specificate AWS le vostre credenziali o una chiave API Amazon Bedrock nell'`Authorization`intestazione.

Prima di eseguire l’esempio riportato più avanti, sostituisci prima i segnaposti nei seguenti campi:
+ Autorizzazione: sostituiscila *\$1AWS\$1BEARER\$1TOKEN\$1BEDROCK* con la tua chiave API effettiva.
+ batch\$1abc123: nel percorso, sostituisci questo valore con l’ID effettivo del processo in batch.

L'esempio seguente richiama l'API OpenAI Retrieve batch `us-west-2` su un processo batch il cui ID è*batch\$1abc123*.

```
curl -X GET 'https://bedrock-runtime.us-west-2.amazonaws.com/openai/v1/batches/batch_abc123' \
    -H 'Authorization: Bearer $AWS_BEARER_TOKEN_BEDROCK'
```

------

## Elenco dei processi in batch di OpenAI
<a name="inference-openai-batch-list"></a>

Per informazioni dettagliate sulla richiesta e sulla risposta dell’API List batch di OpenAI, consulta [Elenco in batch](https://platform.openai.com/docs/api-reference/batch/list). La risposta restituisce un array di informazioni sui processi in batch.

Quando effettui la richiesta, puoi includere parametri di query per filtrare i risultati. La risposta restituisce informazioni su un processo in batch, inclusi i nomi dei file di output e di errore che puoi cercare nei tuoi bucket S3.

Per vedere esempi di utilizzo dell’API List batch di OpenAI con metodi diversi, scegli la scheda relativa al tuo metodo preferito, quindi segui i passaggi:

------
#### [ OpenAI SDK (Python) ]

Per elencare i processi in batch con OpenAI SDK, procedi come segue:

1. Importa il componente SDK OpenAI e configura il client con i seguenti campi:
   + `base_url`: anteponi l’endpoint di runtime Amazon Bedrock a `/openai/v1`, come nel seguente formato:

     ```
     https://${bedrock-runtime-endpoint}/openai/v1
     ```
   + `api_key`: specifica una chiave API Amazon Bedrock.
   + `default_headers`: se è necessario includere intestazioni, includile come coppie chiave-valore in questo oggetto. In alternativa, puoi specificare le intestazioni in `extra_headers` quando effettui una chiamata API specifica.

1. Utilizza il metodo [batches.list()](https://platform.openai.com/docs/api-reference/batch/list) con il client. Puoi includere uno qualsiasi dei parametri opzionali.

Prima di eseguire l’esempio riportato più avanti, sostituisci i segnaposti nei seguenti campi:
+ api\$1key — Sostituisci *\$1AWS\$1BEARER\$1TOKEN\$1BEDROCK* con la tua chiave API effettiva.

L’esempio chiama l’API del processo List batch di OpenAI in `us-west-2` e specifica un limite di due risultati da restituire.

```
from openai import OpenAI

client = OpenAI(
    base_url="https://bedrock-runtime.us-west-2.amazonaws.com/openai/v1", 
    api_key="$AWS_BEARER_TOKEN_BEDROCK" # Replace with actual API key
)

job = client.batches.list(limit=2)

print(job)
```

------
#### [ HTTP request ]

Per elencare processi in batch con una richiesta HTTP diretta, procedi come segue:

1. Utilizza il metodo GET e specifica l’URL anteponendo l’endpoint di runtime Amazon Bedrock a `/openai/v1/batches`, come nel seguente formato:

   ```
   https://${bedrock-runtime-endpoint}/openai/v1/batches
   ```

   Puoi includere uno qualsiasi dei parametri di query opzionali.

1. Specificate AWS le vostre credenziali o una chiave API Amazon Bedrock nell'`Authorization`intestazione.

Prima di eseguire l’esempio riportato più avanti, sostituisci prima i segnaposti nei seguenti campi:
+ Autorizzazione: sostituiscila *\$1AWS\$1BEARER\$1TOKEN\$1BEDROCK* con la tua chiave API effettiva.

L’esempio seguente chiama l’API List batch di OpenAI in `us-west-2` e specifica un limite di due risultati da restituire.

```
curl -X GET 'https://bedrock-runtime.us-west-2.amazonaws.com/openai/v1/batches?limit=2' \
    -H 'Authorization: Bearer $AWS_BEARER_TOKEN_BEDROCK' \
```

------

## Annullamento di un processo in batch di OpenAI
<a name="inference-openai-batch-cancel"></a>

Per informazioni dettagliate sulla richiesta e sulla risposta dell’API Cancel batch di OpenAI, consulta [Annullamento in batch](https://platform.openai.com/docs/api-reference/batch/cancel). La risposta restituisce informazioni sul processo in batch annullato.

Quando effettui la richiesta, specifichi l’ID del processo in batch che desideri annullare.

Per vedere esempi di utilizzo dell’API Cancel batch di OpenAI con metodi diversi, scegli la scheda corrispondente al metodo preferito, quindi segui i passaggi:

------
#### [ OpenAI SDK (Python) ]

Per annullare un processo in batch con OpenAI SDK, procedi come segue:

1. Importa OpenAI SDK e configura il client con i seguenti campi:
   + `base_url`: anteponi l’endpoint di runtime Amazon Bedrock a `/openai/v1`, come nel seguente formato:

     ```
     https://${bedrock-runtime-endpoint}/openai/v1
     ```
   + `api_key`: specifica una chiave API Amazon Bedrock.
   + `default_headers`: se è necessario includere intestazioni, includile come coppie chiave-valore in questo oggetto. In alternativa, puoi specificare le intestazioni in `extra_headers` quando effettui una chiamata API specifica.

1. Utilizza il metodo [batches.cancel()](https://platform.openai.com/docs/api-reference/batch/cancel) con il client e specifica l’ID del batch per il quale recuperare le informazioni.

Prima di eseguire l’esempio riportato più avanti, sostituisci i segnaposti nei seguenti campi:
+ api\$1key — Sostituisci *\$1AWS\$1BEARER\$1TOKEN\$1BEDROCK* con la tua chiave API effettiva.
+ batch\$1id — Sostituisci *\$1AWS\$1BEARER\$1TOKEN\$1BEDROCK* con la tua chiave API effettiva.

L'esempio richiama l'API OpenAI Cancel batch job `us-west-2` su un processo batch il cui ID è. *batch\$1abc123*

```
from openai import OpenAI

client = OpenAI(
    base_url="https://bedrock-runtime.us-west-2.amazonaws.com/openai/v1", 
    api_key="$AWS_BEARER_TOKEN_BEDROCK" # Replace with actual API key
)

job = client.batches.cancel(batch_id="batch_abc123") # Replace with actual ID

print(job)
```

------
#### [ HTTP request ]

Per annullare un processo in batch con una richiesta HTTP diretta, procedi come segue:

1. Utilizza il metodo POST e specifica l’URL anteponendo l’endpoint di runtime Amazon Bedrock a `/openai/v1/batches/${batch_id}/cancel`, come nel seguente formato:

   ```
   https://${bedrock-runtime-endpoint}/openai/v1/batches/batch_abc123/cancel
   ```

1. Specificate AWS le vostre credenziali o una chiave API Amazon Bedrock nell'`Authorization`intestazione.

Prima di eseguire l’esempio riportato più avanti, sostituisci prima i segnaposti nei seguenti campi:
+ Autorizzazione: sostituiscila *\$1AWS\$1BEARER\$1TOKEN\$1BEDROCK* con la tua chiave API effettiva.
+ batch\$1abc123: nel percorso, sostituisci questo valore con l’ID effettivo del processo in batch.

L'esempio seguente richiama l'API OpenAI Cancel batch `us-west-2` su un processo batch il cui ID è*batch\$1abc123*.

```
curl -X GET 'https://bedrock-runtime.us-west-2.amazonaws.com/openai/v1/batches/batch_abc123/cancel' \
    -H 'Authorization: Bearer $AWS_BEARER_TOKEN_BEDROCK'
```

------