

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

# Genera risposte utilizzando OpenAI APIs
<a name="bedrock-mantle"></a>

Amazon Bedrock fornisce endpoint API OpenAI compatibili per l'inferenza dei modelli, con tecnologia Mantle, un motore di inferenza distribuito per la creazione di modelli di machine learning su larga scala. Questi endpoint ti consentono di utilizzare strumenti familiari con i modelli Amazon Bedrock, consentendoti di migrare le applicazioni esistenti con modifiche OpenAI SDKs minime al codice: è sufficiente aggiornare l'URL di base e la chiave API.

I vantaggi principali includono:
+ Inferenza **asincrona: supporto per carichi di lavoro di inferenza** a lunga durata tramite l'API Responses
+ **Gestione delle conversazioni con stato: ricostruisci automaticamente il contesto senza passare manualmente la cronologia delle conversazioni** ad ogni richiesta
+ **Utilizzo semplificato degli strumenti: integrazione semplificata** per flussi di lavoro agentici
+ **Modalità di risposta flessibili**: supporto per risposte in streaming e non in streaming
+ **Migrazione semplice**: compatibile con le basi di codice OpenAI SDK esistenti

## Regioni ed endpoint supportati
<a name="bedrock-mantle-supported"></a>

Amazon Bedrock è disponibile nelle seguenti AWS regioni:


| Nome della regione | Regione | Endpoint | 
| --- | --- | --- | 
| Stati Uniti orientali (Ohio) | us-east-2 | bedrock-mantle.us-east-2.api.aws | 
| Stati Uniti orientali (Virginia settentrionale) | us-east-1 | bedrock-mantle.us-east-1.api.aws | 
| Stati Uniti occidentali (Oregon) | us-west-2 | bedrock-mantle.us-west-2.api.aws | 
| Asia Pacifico (Giacarta) | ap-southeast-3 | bedrock-mantle.ap-southeast-3.api.aws | 
| Asia Pacifico (Mumbai) | ap-south-1 | bedrock-mantle.ap-south-1.api.aws | 
| Asia Pacifico (Tokyo) | ap-northeast-1 | bedrock-mantle.ap-northeast-1.api.aws | 
| Europa (Francoforte) | eu-central-1 | bedrock-mantle.eu-central-1.api.aws | 
| Europa (Irlanda) | eu-west-1 | bedrock-mantle.eu-west-1.api.aws | 
| Europe (London) | eu-west-2 | bedrock-mantle.eu-west-2.api.aws | 
| Europe (Milan) | eu-south-1 | bedrock-mantle.eu-south-1.api.aws | 
| Europa (Stoccolma) | eu-north-1 | bedrock-mantle.eu-north-1.api.aws | 
| Sud America (San Paolo) | sa-east-1 | bedrock-mantle.sa-east-1.api.aws | 

## Prerequisiti
<a name="bedrock-mantle-prereq"></a>

Prima dell'uso, assicurati di avere quanto segue: OpenAI APIs
+ **Autenticazione**: puoi autenticarti utilizzando:
  + Chiave API Amazon Bedrock (richiesta per OpenAI SDK)
  + AWS credenziali (supportate per le richieste HTTP)
+ **OpenAISDK** (opzionale): installa l'SDK OpenAI Python se utilizzi richieste basate su SDK.
+ Variabili di **ambiente: imposta le seguenti variabili** di ambiente:
  + `OPENAI_API_KEY`— Imposta sulla tua chiave API Amazon Bedrock
  + `OPENAI_BASE_URL`— Impostato sull'endpoint Amazon Bedrock per la tua regione (ad esempio,) ` https://bedrock-mantle.us-east-1.api.aws/v1`

## Modelli (API)
<a name="bedrock-mantle-models"></a>

L'API Models ti consente di scoprire i modelli disponibili in Amazon Bedrock con tecnologia Mantle. Usa questa API per recuperare un elenco di modelli che puoi utilizzare con l'API Responses e l'API Chat Completions. Per i dettagli completi sull'API, consulta la documentazione dei [OpenAImodelli](https://platform.openai.com/docs/api-reference/models).

### Elenca i modelli disponibili
<a name="bedrock-mantle-models-list"></a>

Per elencare i modelli disponibili, scegli la scheda corrispondente al metodo che preferisci, quindi segui i passaggi:

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

```
# List all available models using the OpenAI SDK
# Requires OPENAI_API_KEY and OPENAI_BASE_URL environment variables

from openai import OpenAI

client = OpenAI()

models = client.models.list()

for model in models.data:
    print(model.id)
```

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

Effettua una richiesta GET a`/v1/models`:

```
# List all available models
# Requires OPENAI_API_KEY and OPENAI_BASE_URL environment variables

curl -X GET $OPENAI_BASE_URL/models \
   -H "Authorization: Bearer $OPENAI_API_KEY"
```

------

## API di risposta
<a name="bedrock-mantle-responses"></a>

L'API Responses fornisce una gestione statica delle conversazioni con supporto per lo streaming, l'elaborazione in background e le interazioni a turni multipli. [Per i dettagli completi sull'API, consulta la documentazione di ResponsesOpenAI.](https://platform.openai.com/docs/api-reference/responses)

### Richiesta di base
<a name="bedrock-mantle-responses-create"></a>

Per creare una risposta, scegli la scheda corrispondente al metodo che preferisci, quindi segui i passaggi:

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

```
# Create a basic response using the OpenAI SDK
# Requires OPENAI_API_KEY and OPENAI_BASE_URL environment variables

from openai import OpenAI

client = OpenAI()

response = client.responses.create(
    model="openai.gpt-oss-120b",
    input=[
        {"role": "user", "content": "Hello! How can you help me today?"}
    ]
)

print(response)
```

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

Effettua una richiesta POST a`/v1/responses`:

```
# Create a basic response
# Requires OPENAI_API_KEY and OPENAI_BASE_URL environment variables

curl -X POST $OPENAI_BASE_URL/responses \
   -H "Content-Type: application/json" \
   -H "Authorization: Bearer $OPENAI_API_KEY" \
   -d '{
    "model": "openai.gpt-oss-120b",
    "input": [
        {"role": "user", "content": "Hello! How can you help me today?"}
    ]
}'
```

------

### Risposte in streaming
<a name="bedrock-mantle-responses-streaming"></a>

Per ricevere gli eventi di risposta in modo incrementale, scegli la scheda corrispondente al tuo metodo preferito, quindi segui i passaggi:

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

```
# Stream response events incrementally using the OpenAI SDK
# Requires OPENAI_API_KEY and OPENAI_BASE_URL environment variables

from openai import OpenAI

client = OpenAI()

stream = client.responses.create(
    model="openai.gpt-oss-120b",
    input=[{"role": "user", "content": "Tell me a story"}],
    stream=True
)

for event in stream:
    print(event)
```

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

Effettua una richiesta POST a `/v1/responses` with `stream` set to`true`:

```
# Stream response events incrementally
# Requires OPENAI_API_KEY and OPENAI_BASE_URL environment variables

curl -X POST $OPENAI_BASE_URL/responses \
   -H "Content-Type: application/json" \
   -H "Authorization: Bearer $OPENAI_API_KEY" \
   -d '{
    "model": "openai.gpt-oss-120b",
    "input": [
        {"role": "user", "content": "Tell me a story"}
    ],
    "stream": true
}'
```

------

## API per il completamento della chat
<a name="bedrock-mantle-chat-completions"></a>

L'API Chat Completions genera risposte conversazionali. Per i dettagli completi sull'API, consulta la documentazione [OpenAIChat](https://platform.openai.com/docs/api-reference/chat/create) Completions.

### Creare un completamento di chat
<a name="bedrock-mantle-chat-completions-create"></a>

Per creare il completamento di una chat, scegli la scheda corrispondente al metodo che preferisci, quindi segui i passaggi:

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

Configura il OpenAI client utilizzando le variabili di ambiente:

```
# Create a chat completion using the OpenAI SDK
# Requires OPENAI_API_KEY and OPENAI_BASE_URL environment variables

from openai import OpenAI

client = OpenAI()

completion = client.chat.completions.create(
    model="openai.gpt-oss-120b",
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "Hello!"}
    ]
)

print(completion.choices[0].message)
```

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

Effettua una richiesta POST a`/v1/chat/completions`:

```
# Create a chat completion
# Requires OPENAI_API_KEY and OPENAI_BASE_URL environment variables

curl -X POST $OPENAI_BASE_URL/chat/completions \
   -H "Content-Type: application/json" \
   -H "Authorization: Bearer $OPENAI_API_KEY" \
   -d '{
    "model": "openai.gpt-oss-120b",
    "messages": [
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "Hello!"}
    ]
}'
```

------

### Abilita lo streaming
<a name="bedrock-mantle-chat-completions-streaming"></a>

Per ricevere le risposte in modo incrementale, scegli la scheda corrispondente al metodo che preferisci, quindi segui i passaggi:

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

```
# Stream chat completion responses incrementally using the OpenAI SDK
# Requires OPENAI_API_KEY and OPENAI_BASE_URL environment variables

from openai import OpenAI

client = OpenAI()

stream = client.chat.completions.create(
    model="openai.gpt-oss-120b",
    messages=[{"role": "user", "content": "Tell me a story"}],
    stream=True
)

for chunk in stream:
    if chunk.choices[0].delta.content is not None:
        print(chunk.choices[0].delta.content, end="")
```

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

Effettua una richiesta POST a `/v1/chat/completions` with ` stream` set to`true`:

```
# Stream chat completion responses incrementally
# Requires OPENAI_API_KEY and OPENAI_BASE_URL environment variables

curl -X POST $OPENAI_BASE_URL/chat/completions \
   -H "Content-Type: application/json" \
   -H "Authorization: Bearer $OPENAI_API_KEY" \
   -d '{
    "model": "openai.gpt-oss-120b",
    "messages": [
        {"role": "user", "content": "Tell me a story"}
    ],
    "stream": true
}'
```

------