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.
Soumettre un lot de demandes à l'aide de l'API OpenAI Batch
Vous pouvez exécuter une tâche d'inférence par lots à l'aide de l'API OpenAI Create batch avec les modèles Amazon BedrockOpenAI.
Vous pouvez appeler l'API OpenAI Create batch des manières suivantes :
Sélectionnez un sujet pour en savoir plus :
Modèles et régions pris en charge pour l'API OpenAI batch
Vous pouvez utiliser l'API OpenAI Create batch avec tous les OpenAI modèles pris en charge dans Amazon Bedrock et dans les AWS régions qui prennent en charge ces modèles. Pour plus d'informations sur les modèles et les régions pris en charge, consultezModèles de fondation pris en charge dans Amazon Bedrock.
Conditions requises pour utiliser l'API OpenAI batch
Pour connaître les conditions requises pour utiliser les opérations d'API OpenAI par lots, choisissez l'onglet correspondant à votre méthode préférée, puis suivez les étapes suivantes :
- OpenAI SDK
-
-
Authentification — Le OpenAI SDK prend uniquement en charge l'authentification avec une clé d'API Amazon Bedrock. Générez une clé d'API Amazon Bedrock pour authentifier votre demande. Pour en savoir plus sur les clés d'API Amazon Bedrock et sur la façon de les générer, consultezGénérez des clés d'API Amazon Bedrock pour vous authentifier facilement auprès de l'API Amazon Bedrock.
-
Point de terminaison : recherchez le point de terminaison correspondant à la AWS région à utiliser dans les points de terminaison et les quotas Amazon Bedrock Runtime. Si vous utilisez un AWS SDK, il se peut que vous deviez uniquement spécifier le code de région et non le point de terminaison complet lors de la configuration du client.
-
Accès au modèle : demandez l'accès à un modèle Amazon Bedrock compatible avec cette fonctionnalité. Pour de plus amples informations, veuillez consulter Ajouter ou supprimer l'accès aux modèles de fondation Amazon Bedrock.
-
Installer un OpenAI SDK — Pour plus d'informations, consultez la section Bibliothèques dans la OpenAI documentation.
-
Fichier JSONL par lots chargé sur S3 — Suivez les étapes décrites dans la section Préparer votre fichier batch dans la OpenAI documentation pour préparer votre fichier batch au format correct. Téléchargez-le ensuite dans un compartiment Amazon S3.
-
Autorisations IAM — Assurez-vous que vous disposez des identités IAM suivantes avec les autorisations appropriées :
- HTTP request
-
-
Authentification — Vous pouvez vous authentifier avec vos AWS informations d'identification ou avec une clé d'API Amazon Bedrock.
Configurez vos AWS informations d'identification ou générez une clé d'API Amazon Bedrock pour authentifier votre demande.
-
Point de terminaison : recherchez le point de terminaison correspondant à la AWS région à utiliser dans les points de terminaison et les quotas Amazon Bedrock Runtime. Si vous utilisez un AWS SDK, il se peut que vous deviez uniquement spécifier le code de région et non le point de terminaison complet lors de la configuration du client.
-
Accès au modèle : demandez l'accès à un modèle Amazon Bedrock compatible avec cette fonctionnalité. Pour de plus amples informations, veuillez consulter Ajouter ou supprimer l'accès aux modèles de fondation Amazon Bedrock.
-
Fichier JSONL par lots chargé sur S3 — Suivez les étapes décrites dans la section Préparer votre fichier batch dans la OpenAI documentation pour préparer votre fichier batch au format correct. Téléchargez-le ensuite dans un compartiment Amazon S3.
-
Autorisations IAM — Assurez-vous que vous disposez des identités IAM suivantes avec les autorisations appropriées :
Création d'une tâche OpenAI par lots
Pour plus de détails sur l'API OpenAI Create Batch, consultez les ressources suivantes de la OpenAI documentation :
-
Créer un lot : détaille à la fois la demande et la réponse.
-
L'objet de sortie de la demande : détaille les champs de la sortie générée par le traitement par lots. Reportez-vous à cette documentation lorsque vous interprétez les résultats dans votre compartiment S3.
Formez la demande
Lorsque vous formulez la demande d'inférence par lots, notez les champs et valeurs spécifiques à Amazon Bedrock suivants :
Paramètres du corps de la demande :
Trouvez les résultats générés
La réponse de création inclut un identifiant de lot. Les résultats et la journalisation des erreurs de la tâche d'inférence par lots sont écrits dans le dossier S3 contenant le fichier d'entrée. Les résultats seront placés dans un dossier portant le même nom que l'identifiant du lot, comme dans la structure de dossiers suivante :
---- {batch_input_folder}
|---- {batch_input}.jsonl
|---- {batch_id}
|---- {batch_input}.jsonl.out
|---- {batch_input}.jsonl.err
Pour voir des exemples d'utilisation de l'API OpenAI Create batch avec différentes méthodes, choisissez l'onglet correspondant à votre méthode préférée, puis suivez les étapes suivantes :
- OpenAI SDK (Python)
-
Pour créer un traitement par lots avec le OpenAI SDK, procédez comme suit :
-
Importez le OpenAI SDK et configurez le client avec les champs suivants :
-
base_url
— Préfixez le point de terminaison Amazon Bedrock Runtime à/openai/v1
, comme dans le format suivant :
https://${bedrock-runtime-endpoint}
/openai/v1
-
api_key
— Spécifiez une clé d'API Amazon Bedrock.
-
default_headers
— Si vous devez inclure des en-têtes, vous pouvez les inclure sous forme de paires clé-valeur dans cet objet. Vous pouvez également spécifier des en-têtes dans le extra_headers
lorsque vous effectuez un appel d'API spécifique.
-
Utilisez la méthode batches.create () avec le client.
Avant d'exécuter l'exemple suivant, remplacez les espaces réservés dans les champs suivants :
-
api_key — Remplacez par votre clé $AWS_BEARER_TOKEN_BEDROCK
d'API réelle.
-
X-Amzn-BedrockRoleArn — arn:aws:iam::123456789012:role/BatchServiceRole
Remplacez-le par le rôle de service d'inférence par lots que vous avez configuré.
-
input_file_id — Remplacez par s3://amzn-s3-demo-bucket/openai-input.jsonl
l'URI S3 réel vers lequel vous avez chargé votre fichier JSONL par lots.
L'exemple appelle l'API OpenAI Create batch job us-west-2
et inclut une métadonnée.
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
-
Pour terminer le chat à l'aide d'une requête HTTP directe, procédez comme suit :
-
Utilisez la méthode POST et spécifiez l'URL en préfixant le point de terminaison Amazon Bedrock Runtime sur/openai/v1/batches
, comme dans le format suivant :
https://${bedrock-runtime-endpoint}
/openai/v1/batches
-
Spécifiez vos AWS informations d'identification ou une clé d'API Amazon Bedrock dans l'Authorization
en-tête.
Avant d'exécuter l'exemple suivant, remplacez d'abord les espaces réservés dans les champs suivants :
-
Autorisation — $AWS_BEARER_TOKEN_BEDROCK
Remplacez-la par votre clé d'API réelle.
-
X-Amzn-BedrockRoleArn — arn:aws:iam::123456789012:role/BatchServiceRole
Remplacez-le par le rôle de service d'inférence par lots que vous avez configuré.
-
input_file_id — Remplacez par s3://amzn-s3-demo-bucket/openai-input.jsonl
l'URI S3 réel vers lequel vous avez chargé votre fichier JSONL par lots.
L'exemple suivant appelle l'API Create chat complétion us-west-2
et inclut une métadonnée :
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"}
}'
Récupérer une tâche OpenAI par lots
Pour plus de détails sur la demande et la réponse de l'API OpenAI Retrieve batch, reportez-vous à Retrieve batch.
Lorsque vous faites la demande, vous spécifiez l'ID du traitement par lots pour lequel vous souhaitez obtenir des informations. La réponse renvoie des informations sur un traitement par lots, notamment les noms des fichiers de sortie et d'erreur que vous pouvez rechercher dans vos compartiments S3.
Pour voir des exemples d'utilisation de l'API OpenAI Retrieve batch avec différentes méthodes, choisissez l'onglet correspondant à votre méthode préférée, puis suivez les étapes suivantes :
- OpenAI SDK (Python)
-
Pour récupérer un traitement par lots avec le OpenAI SDK, procédez comme suit :
-
Importez le OpenAI SDK et configurez le client avec les champs suivants :
-
base_url
— Préfixez le point de terminaison Amazon Bedrock Runtime à/openai/v1
, comme dans le format suivant :
https://${bedrock-runtime-endpoint}
/openai/v1
-
api_key
— Spécifiez une clé d'API Amazon Bedrock.
-
default_headers
— Si vous devez inclure des en-têtes, vous pouvez les inclure sous forme de paires clé-valeur dans cet objet. Vous pouvez également spécifier des en-têtes dans le extra_headers
lorsque vous effectuez un appel d'API spécifique.
-
Utilisez la méthode batches.retrieve () avec le client et spécifiez l'ID du lot pour lequel vous souhaitez récupérer les informations.
Avant d'exécuter l'exemple suivant, remplacez les espaces réservés dans les champs suivants :
L'exemple appelle l'API OpenAI Retrieve batch job pour un batch dont l'ID estbatch_abc123
. us-west-2
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
-
Pour récupérer un traitement par lots à l'aide d'une requête HTTP directe, procédez comme suit :
-
Utilisez la méthode GET et spécifiez l'URL en préfixant le point de terminaison Amazon Bedrock Runtime sur/openai/v1/batches/${batch_id}
, comme dans le format suivant :
https://${bedrock-runtime-endpoint}
/openai/v1/batches/batch_abc123
-
Spécifiez vos AWS informations d'identification ou une clé d'API Amazon Bedrock dans l'Authorization
en-tête.
Avant d'exécuter l'exemple suivant, remplacez d'abord les espaces réservés dans les champs suivants :
-
Autorisation — $AWS_BEARER_TOKEN_BEDROCK
Remplacez-la par votre clé d'API réelle.
-
batch_abc123 — Dans le chemin, remplacez cette valeur par l'identifiant réel de votre traitement par lots.
L'exemple suivant appelle l'API OpenAI Retrieve batch pour une tâche par lots dont l'ID estbatch_abc123
. us-west-2
curl -X GET 'https://bedrock-runtime.us-west-2.amazonaws.com/openai/v1/batches/batch_abc123' \
-H 'Authorization: Bearer $AWS_BEARER_TOKEN_BEDROCK'
Lister les tâches OpenAI par lots
Pour plus de détails sur la demande et la réponse de l'API OpenAI List batches, reportez-vous à List batches. La réponse renvoie un ensemble d'informations sur vos tâches par lots.
Lorsque vous faites la demande, vous pouvez inclure des paramètres de requête pour filtrer les résultats. La réponse renvoie des informations sur un traitement par lots, notamment les noms des fichiers de sortie et d'erreur que vous pouvez rechercher dans vos compartiments S3.
Pour voir des exemples d'utilisation de l'API OpenAI List batches avec différentes méthodes, choisissez l'onglet correspondant à votre méthode préférée, puis suivez les étapes suivantes :
- OpenAI SDK (Python)
-
Pour répertorier les tâches par lots avec le OpenAI SDK, procédez comme suit :
-
Importez le OpenAI SDK et configurez le client avec les champs suivants :
-
base_url
— Préfixez le point de terminaison Amazon Bedrock Runtime à/openai/v1
, comme dans le format suivant :
https://${bedrock-runtime-endpoint}
/openai/v1
-
api_key
— Spécifiez une clé d'API Amazon Bedrock.
-
default_headers
— Si vous devez inclure des en-têtes, vous pouvez les inclure sous forme de paires clé-valeur dans cet objet. Vous pouvez également spécifier des en-têtes dans le extra_headers
lorsque vous effectuez un appel d'API spécifique.
-
Utilisez la méthode batches.list () avec le client. Vous pouvez inclure n'importe quel paramètre facultatif.
Avant d'exécuter l'exemple suivant, remplacez les espaces réservés dans les champs suivants :
L'exemple appelle l'API OpenAI List batch jobs us-west-2
et spécifie une limite de 2 résultats à renvoyer.
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
-
Pour répertorier les tâches par lots avec une requête HTTP directe, procédez comme suit :
-
Utilisez la méthode GET et spécifiez l'URL en préfixant le point de terminaison Amazon Bedrock Runtime sur/openai/v1/batches
, comme dans le format suivant :
https://${bedrock-runtime-endpoint}
/openai/v1/batches
Vous pouvez inclure n'importe quel paramètre de requête facultatif.
-
Spécifiez vos AWS informations d'identification ou une clé d'API Amazon Bedrock dans l'Authorization
en-tête.
Avant d'exécuter l'exemple suivant, remplacez d'abord les espaces réservés dans les champs suivants :
L'exemple suivant appelle l'API OpenAI List batches us-west-2
et spécifie une limite de 2 résultats à renvoyer.
curl -X GET 'https://bedrock-runtime.us-west-2.amazonaws.com/openai/v1/batches/batch_abc123' \
-H 'Authorization: Bearer $AWS_BEARER_TOKEN_BEDROCK'
Annuler une tâche OpenAI par lots
Pour plus de détails sur la demande et la réponse de l'API d'OpenAIannulation par lots, reportez-vous à la section Annuler le lot. La réponse renvoie des informations sur le traitement par lots annulé.
Lorsque vous faites la demande, vous spécifiez l'ID du traitement par lots que vous souhaitez annuler.
Pour voir des exemples d'utilisation de l'API OpenAI Cancel batch avec différentes méthodes, choisissez l'onglet correspondant à votre méthode préférée, puis suivez les étapes suivantes :
- OpenAI SDK (Python)
-
Pour annuler un traitement par lots avec le OpenAI SDK, procédez comme suit :
-
Importez le OpenAI SDK et configurez le client avec les champs suivants :
-
base_url
— Préfixez le point de terminaison Amazon Bedrock Runtime à/openai/v1
, comme dans le format suivant :
https://${bedrock-runtime-endpoint}
/openai/v1
-
api_key
— Spécifiez une clé d'API Amazon Bedrock.
-
default_headers
— Si vous devez inclure des en-têtes, vous pouvez les inclure sous forme de paires clé-valeur dans cet objet. Vous pouvez également spécifier des en-têtes dans le extra_headers
lorsque vous effectuez un appel d'API spécifique.
-
Utilisez la méthode batches.cancel () avec le client et spécifiez l'ID du lot pour lequel vous souhaitez récupérer les informations.
Avant d'exécuter l'exemple suivant, remplacez les espaces réservés dans les champs suivants :
L'exemple appelle l'API OpenAI Cancel batch job us-west-2
sur un batch dont l'ID estbatch_abc123
.
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
-
Pour annuler un traitement par lots à l'aide d'une requête HTTP directe, procédez comme suit :
-
Utilisez la méthode POST et spécifiez l'URL en préfixant le point de terminaison Amazon Bedrock Runtime sur/openai/v1/batches/${batch_id}
/cancel
, comme dans le format suivant :
https://${bedrock-runtime-endpoint}
/openai/v1/batches/batch_abc123
/cancel
-
Spécifiez vos AWS informations d'identification ou une clé d'API Amazon Bedrock dans l'Authorization
en-tête.
Avant d'exécuter l'exemple suivant, remplacez d'abord les espaces réservés dans les champs suivants :
-
Autorisation — $AWS_BEARER_TOKEN_BEDROCK
Remplacez-la par votre clé d'API réelle.
-
batch_abc123 — Dans le chemin, remplacez cette valeur par l'identifiant réel de votre traitement par lots.
L'exemple suivant appelle l'API OpenAI Cancel batch pour une tâche par lots dont l'ID estbatch_abc123
. us-west-2
curl -X GET 'https://bedrock-runtime.us-west-2.amazonaws.com/openai/v1/batches/batch_abc123/cancel' \
-H 'Authorization: Bearer $AWS_BEARER_TOKEN_BEDROCK'