View a markdown version of this page

Inferenza utilizzando l'API Responses - Amazon Bedrock

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

Inferenza utilizzando l'API Responses

Amazon Bedrock fornisce l'API OpenAI Responses tramite l'bedrock-mantleendpoint, basato su Mantle, un motore di inferenza distribuito per la creazione di modelli di machine learning su larga scala. Questo endpoint ti consente di utilizzare OpenAI SDK e strumenti familiari con i modelli Amazon Bedrock, consentendoti di migrare le applicazioni esistenti con modifiche minime al codice: è sufficiente aggiornare l'URL di base e la chiave API.

Importante

Quando usi l'OpenAISDK con Amazon Bedrock, devi indirizzarlo all'endpoint Amazon Bedrock, non all'endpoint. OpenAI Imposta le seguenti variabili di ambiente:

OPENAI_BASE_URL="https://bedrock-mantle.<your-region>.api.aws/v1" OPENAI_API_KEY="<your Bedrock API key>"

Non utilizzate la chiave OpenAI API o l'URL di OpenAI base (https://api.openai.com/v1). Questi si connettono OpenAI direttamente, non ad Amazon Bedrock. Per creare una chiave API Amazon Bedrock, consultaChiavi 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

L'bedrock-mantleendpoint è disponibile nelle seguenti regioni: AWS

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 (Sydney) ap-southeast-2 bedrock-mantle.ap-southeast-2.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

Prima di utilizzare le API, assicurati di disporre di quanto segue: OpenAI

  • 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 usi le richieste. SDK-based

  • 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)

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. Per i dettagli completi sull'API, consulta la documentazione dei OpenAI modelli.

Elenca i modelli disponibili

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

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.

Nota

Non tutti i modelli supportano l'API Responses. Per vedere quali modelli supportano l'API Responses, consultaCompatibilità delle API.

In che modo l'API Responses memorizza lo stato della conversazione

L'API Responses può utilizzare lo stato memorizzato per abilitare conversazioni a turni multipli e consentire di fare riferimento ai turni precedenti tramite il previous_response_id parametro. L'archiviazione è abilitata per impostazione predefinita, ma può essere disabilitata su richiesta tramite il store parametro. Le risposte archiviate rientrano nell'ambito del progetto. Una risposta di un progetto non può essere utilizzata come risposta precedente o letta in un secondo progetto. Per ulteriori informazioni sui progetti, vedereProgetti (OpenAI-compatible).

  • Quando store è true (impostazione predefinita), Amazon Bedrock conserva la risposta, inclusi input e output, per 30 giorni nella regione di origine della richiesta. Durante questa finestra puoi concatenare le richieste di follow-up inviando previous_response_id e recuperando la risposta con. GET /v1/responses/{id} Dopo 30 giorni, la risposta viene eliminata automaticamente e non è più recuperabile.

  • In store tal casofalse, Amazon Bedrock non conserva alcun dato della richiesta o della risposta. Il previous_response_id parametro non può essere utilizzato per continuare la conversazione.

Il valore predefinito true deve corrispondere alla specifica dell'API OpenAI Responses. I clienti che non desiderano che Amazon Bedrock conservi i dati delle conversazioni devono store impostarlo esplicitamente false su ogni richiesta. I dati archiviati vengono conservati nell'area di origine della richiesta, crittografati quando inattivi e ricondotti alla risorsa Project dell' AWS account chiamante. I dati vengono archiviati esclusivamente per soddisfare le richieste dell'utente e non vengono utilizzati o conservati per altri scopi.

Richiesta di base

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

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 totrue:

# 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 }'