View a markdown version of this page

Inférence à l'aide de l'API Responses - Amazon Bedrock

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Inférence à l'aide de l'API Responses

Amazon Bedrock fournit l'API OpenAI Responses via le bedrock-mantle point de terminaison, alimenté par Mantle, un moteur d'inférence distribué destiné à la diffusion de modèles d'apprentissage automatique à grande échelle. Ce point de terminaison vous permet d'utiliser des OpenAI SDK et des outils familiers avec les modèles Amazon Bedrock, ce qui vous permet de migrer des applications existantes avec un minimum de modifications de code. Il vous suffit de mettre à jour votre URL de base et votre clé d'API.

Important

Lorsque vous utilisez le OpenAI SDK avec Amazon Bedrock, vous devez le pointer vers le point de terminaison Amazon Bedrock, et non vers le point de terminaison. OpenAI Définissez les variables d'environnement suivantes :

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

N'utilisez pas votre clé OpenAI d'API ni l'URL OpenAI de base (https://api.openai.com/v1). Ils se connectent OpenAI directement à Amazon Bedrock, et non à Amazon Bedrock. Pour créer une clé d'API Amazon Bedrock, consultezclés d’API.

Les principaux avantages sont les suivants :

  • Inférence asynchrone — Support pour les charges de travail d'inférence de longue durée via l'API Responses

  • Gestion dynamique des conversations : reconstruisez automatiquement le contexte sans transmettre manuellement l'historique des conversations à chaque demande

  • Utilisation simplifiée des outils — Intégration rationalisée pour les flux de travail agentiques

  • Modes de réponse flexibles — Support pour les réponses en streaming et hors streaming

  • Migration facile — Compatible avec les bases de OpenAI code SDK existantes

Régions et terminaux pris en charge

Le bedrock-mantle point de terminaison est disponible dans les AWS régions suivantes :

Nom de la région Région Endpoint
USA Est (Ohio) us-east-2 bedrock-mantle.us-east-2.api.aws
USA Est (Virginie du Nord) us-east-1 bedrock-mantle.us-east-1.api.aws
USA Ouest (Oregon) us-west-2 bedrock-mantle.us-west-2.api.aws
Asie-Pacifique (Jakarta) ap-southeast-3 bedrock-mantle.ap-southeast-3.api.aws
Asie-Pacifique (Mumbai) ap-south-1 bedrock-mantle.ap-south-1.api.aws
Asie-Pacifique (Sydney) ap-southeast-2 bedrock-mantle.ap-southeast-2.api.aws
Asie-Pacifique (Tokyo) ap-northeast-1 bedrock-mantle.ap-northeast-1.api.aws
Europe (Francfort) eu-central-1 bedrock-mantle.eu-central-1.api.aws
Europe (Irlande) eu-west-1 bedrock-mantle.eu-west-1.api.aws
Europe (Londres) eu-west-2 bedrock-mantle.eu-west-2.api.aws
Europe (Milan) eu-south-1 bedrock-mantle.eu-south-1.api.aws
Europe (Stockholm) eu-north-1 bedrock-mantle.eu-north-1.api.aws
Amérique du Sud (São Paulo) sa-east-1 bedrock-mantle.sa-east-1.api.aws

Conditions préalables

Avant d'utiliser OpenAI les API, assurez-vous de disposer des éléments suivants :

  • Authentification — Vous pouvez vous authentifier en utilisant :

    • Clé d'API Amazon Bedrock (requise pour le OpenAI SDK)

    • AWS informations d'identification (prises en charge pour les requêtes HTTP)

  • OpenAISDK (facultatif) — Installez le SDK OpenAI Python si vous utilisez SDK-based des requêtes.

  • Variables d'environnement : définissez les variables d'environnement suivantes :

    • OPENAI_API_KEY— Réglé sur votre clé d'API Amazon Bedrock

    • OPENAI_BASE_URL— Définissez le point de terminaison Amazon Bedrock de votre région (par exemple, https://bedrock-mantle.us-east-1.api.aws/v1)

API de modèles

L'API Models vous permet de découvrir les modèles disponibles dans Amazon Bedrock propulsé par Mantle. Utilisez cette API pour récupérer la liste des modèles que vous pouvez utiliser avec l'API Responses. Pour obtenir des informations complètes sur l'API, consultez la documentation sur OpenAI les modèles.

Liste des modèles disponibles

Pour répertorier les modèles disponibles, choisissez l'onglet correspondant à votre méthode préférée, puis suivez les étapes suivantes :

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

Envoyez une requête GET à /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 de réponses

L'API Responses fournit une gestion dynamique des conversations avec prise en charge du streaming, du traitement en arrière-plan et des interactions à plusieurs tours. Pour obtenir des informations complètes sur l'API, consultez la documentation OpenAI Responses.

Note

Tous les modèles ne prennent pas en charge l'API Responses. Pour savoir quels modèles prennent en charge l'API Responses, consultezCompatibilité avec les API.

Comment l'API Responses stocke l'état de la conversation

L'API Responses peut utiliser l'état stocké pour activer les conversations à plusieurs tours et vous permettre de référencer les tours précédents par le biais du previous_response_id paramètre. Le stockage est activé par défaut mais peut être désactivé par demande via le store paramètre. Les réponses stockées sont définies par projet. La réponse d'un projet ne peut pas être utilisée comme réponse précédente ni lue dans un second projet. Pour plus d'informations sur les projets, consultezProjets (OpenAI-compatible).

  • Lorsque store c'est le cas true (valeur par défaut), Amazon Bedrock conserve la réponse, y compris les entrées et les sorties, pendant 30 jours dans la région source de la demande. Au cours de cette fenêtre, vous pouvez enchaîner les demandes de suivi en previous_response_id les transmettant et en récupérant la réponse avecGET /v1/responses/{id}. Après 30 jours, la réponse est automatiquement supprimée et n'est plus récupérable.

  • Dans store ce casfalse, Amazon Bedrock ne conserve aucune donnée provenant de la demande ou de la réponse. Le previous_response_id paramètre ne peut pas être utilisé pour poursuivre la conversation.

La valeur par défaut doit correspondre true à la spécification de l'API OpenAI Responses. Les clients qui ne souhaitent pas qu'Amazon Bedrock conserve les données de conversation doivent explicitement store définir cette valeur false sur chaque demande. Les données stockées sont conservées dans la région source de la demande, cryptées au repos et limitées à la ressource de projet du AWS compte appelant. Les données sont stockées uniquement pour répondre à vos demandes et ne sont ni utilisées ni conservées à d'autres fins.

Demande de base

Pour créer une réponse, choisissez l'onglet correspondant à votre méthode préférée, puis suivez les étapes suivantes :

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

Faites une demande POST pour /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?"} ] }'

Diffusez les réponses

Pour recevoir les événements de réponse de manière incrémentielle, choisissez l'onglet correspondant à votre méthode préférée, puis suivez les étapes suivantes :

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

Envoyez une requête POST à /v1/responses avec la stream valeur définie sur 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 }'