Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Envío de un lote de peticiones con la API Batch de OpenAI
Puede ejecutar un trabajo de inferencia en lotes mediante la API Create batch de OpenAI con los modelos OpenAI de Amazon Bedrock.
Puede llamar a la API Create batch de OpenAI de las formas siguientes:
Elija un tema para obtener más información:
Regiones y modelos compatibles con la API Batch de OpenAI
Puede usar la API Create batch de OpenAI con todos los modelos de OpenAI compatibles con Amazon Bedrock y en las regiones de AWS que admiten estos modelos. Para obtener más información acerca de los modelos y regiones compatibles, consulte Modelos fundacionales compatibles en Amazon Bedrock.
Requisitos previos para usar la API Batch de OpenAI
Para ver los requisitos previos para usar las operaciones de la API Batch de OpenAI, elija la pestaña que corresponda al método que prefiera y siga estos pasos:
- OpenAI SDK
-
-
Autenticación: el SDK de OpenAI solo admite la autenticación con una clave de API de Amazon Bedrock. Genere una clave de API de Amazon Bedrock para autenticar la solicitud. Para obtener más información sobre las claves de API de Amazon Bedrock y cómo generarlas, consulte Generación de claves de API de Amazon Bedrock para autenticarse fácilmente en la API de Amazon Bedrock.
-
Punto de conexión: busque el punto de conexión que corresponda a la región de AWS que desea usar en Puntos de conexión y cuotas de Tiempo de ejecución de Amazon Bedrock. Si usa un SDK de AWS, es posible que solo necesite especificar el código de región y no todo el punto de conexión al configurar el cliente.
-
Acceso al modelo: solicite acceso a un modelo de Amazon Bedrock que sea compatible con esta característica. Para obtener más información, consulte Administre el acceso a los modelos mediante el SDK y la CLI.
-
Instalar un SDK de OpenAI: para obtener más información, consulte Bibliotecas en la documentación de OpenAI.
-
Archivo JSONL por lotes cargado en S3: siga los pasos descritos en Prepare your batch file en la documentación de OpenAI para preparar el archivo por lotes con el formato correcto. A continuación, cárguelo en un bucket de Amazon S3.
-
Permisos de IAM: asegúrese de que dispone de las siguientes identidades de IAM con los permisos adecuados:
- HTTP request
-
-
Autenticación: puede autenticarse con sus credenciales de AWS o con una clave de API de Amazon Bedrock.
Configure sus credenciales de AWS o genere una clave de API de Amazon Bedrock para autenticar la solicitud.
-
Punto de conexión: busque el punto de conexión que corresponda a la región de AWS que desea usar en Puntos de conexión y cuotas de Tiempo de ejecución de Amazon Bedrock. Si usa un SDK de AWS, es posible que solo necesite especificar el código de región y no todo el punto de conexión al configurar el cliente.
-
Acceso al modelo: solicite acceso a un modelo de Amazon Bedrock que sea compatible con esta característica. Para obtener más información, consulte Administre el acceso a los modelos mediante el SDK y la CLI.
-
Archivo JSONL por lotes cargado en S3: siga los pasos descritos en Prepare your batch file en la documentación de OpenAI para preparar el archivo por lotes con el formato correcto. A continuación, cárguelo en un bucket de Amazon S3.
-
Permisos de IAM: asegúrese de que dispone de las siguientes identidades de IAM con los permisos adecuados:
Creación de un trabajo por lotes de OpenAI
Para obtener información sobre la API Create chat completion de OpenAI, consulte los siguientes recursos en la documentación de OpenAI:
-
Create batch: detalla tanto la solicitud como la respuesta.
-
The request output object: detalla los campos de la salida generada por el trabajo por lotes. Consulte esta documentación cuando interprete los resultados en su bucket de S3.
Creación de la solicitud
Al crear la solicitud de inferencia en lotes, tenga en cuenta los siguientes campos y valores específicos de Amazon Bedrock:
Encabezados de solicitudes
Parámetros del cuerpo de la solicitud:
Búsqueda de los resultados generados
La respuesta de creación incluye un ID de lote. Los resultados y el registro de errores del trabajo de inferencia en lotes se escriben en la carpeta de S3 que contiene el archivo de entrada. Los resultados estarán en una carpeta con el mismo nombre que el ID del lote, como en la siguiente estructura de carpetas:
---- {batch_input_folder}
|---- {batch_input}.jsonl
|---- {batch_id}
|---- {batch_input}.jsonl.out
|---- {batch_input}.jsonl.err
Para ver ejemplos del uso de la API Create batch de OpenAI con diferentes métodos, seleccione la pestaña que corresponda al método que prefiera y siga los pasos:
- OpenAI SDK (Python)
-
Para crear un trabajo por lotes con el SDK de OpenAI, haga lo siguiente:
-
Importe el SDK de OpenAI y configure el cliente con los siguientes campos:
-
base_url: añada el punto de conexión de Tiempo de ejecución de Amazon Bedrock delante de /openai/v1, como en el siguiente formato:
https://${bedrock-runtime-endpoint}/openai/v1
-
api_key: especifique una clave de API de Amazon Bedrock.
-
default_headers: si necesita incluir algún encabezado, puede incluirlo como pares de clave-valor en este objeto. También puede especificar los encabezados en los extra_headers cuando realice una llamada a la API específica.
-
Use el método batches.create() con el cliente.
Antes de ejecutar el siguiente ejemplo, reemplace los marcadores de posición en los siguientes campos:
-
api_key: sustituya $AWS_BEARER_TOKEN_BEDROCK por su clave de API actual.
-
X-Amzn-BedrockRoleArn: sustituya arn:aws:iam::123456789012:role/BatchServiceRole por el rol de servicio de inferencia en lotes real que ha configurado.
-
input_file_id: sustituya s3://amzn-s3-demo-bucket/openai-input.jsonl por el URI de S3 real en el que cargó el archivo JSONL por lotes.
En el ejemplo, se llama a la API Create batch job de OpenAI en us-west-2 y se incluye un fragmento de los metadatos.
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
-
Para crear una finalización de chat con una solicitud HTTP directa, haga lo siguiente:
-
Utilice el método POST y especifique la URL añadiendo el punto de conexión de Tiempo de ejecución de Amazon Bedrock delante de /openai/v1/batches, como en el siguiente formato:
https://${bedrock-runtime-endpoint}/openai/v1/batches
-
Especifique sus credenciales de AWS o una clave de API de Amazon Bedrock en el encabezado Authorization.
Antes de ejecutar el siguiente ejemplo, reemplace los marcadores de posición en los siguientes campos:
-
Autorización: sustituya $AWS_BEARER_TOKEN_BEDROCK por su clave de API actual.
-
X-Amzn-BedrockRoleArn: sustituya arn:aws:iam::123456789012:role/BatchServiceRole por el rol de servicio de inferencia en lotes real que ha configurado.
-
input_file_id: sustituya s3://amzn-s3-demo-bucket/openai-input.jsonl por el URI de S3 real en el que cargó el archivo JSONL por lotes.
En el siguiente ejemplo se llama a la API Create batch job en us-west-2 y se incluye un fragmento de los metadatos:
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"}
}'
Recuperación de un trabajo por lotes de OpenAI
Para obtener más información sobre la solicitud y la respuesta de la API Retrieve batch de OpenAI, consulte Retrieve batch.
Al realizar la solicitud, especifique el ID del trabajo por lotes del que desea obtener información. La respuesta devuelve información sobre un trabajo por lotes, incluidos los nombres de los archivos de salida y error, que puede buscar en los buckets de S3.
Para ver ejemplos del uso de la API Retrieve batch de OpenAI con diferentes métodos, seleccione la pestaña correspondiente al método que prefiera y siga los pasos:
- OpenAI SDK (Python)
-
Para recuperar un trabajo por lotes con el SDK de OpenAI, haga lo siguiente:
-
Importe el SDK de OpenAI y configure el cliente con los siguientes campos:
-
base_url: añada el punto de conexión de Tiempo de ejecución de Amazon Bedrock delante de /openai/v1, como en el siguiente formato:
https://${bedrock-runtime-endpoint}/openai/v1
-
api_key: especifique una clave de API de Amazon Bedrock.
-
default_headers: si necesita incluir algún encabezado, puede incluirlo como pares de clave-valor en este objeto. También puede especificar los encabezados en los extra_headers cuando realice una llamada a la API específica.
-
Use el método batches.retrieve() con el cliente y especifique el ID del lote del que quiere recuperar la información.
Antes de ejecutar el siguiente ejemplo, reemplace los marcadores de posición en los siguientes campos:
En el ejemplo, se llama a la API Retrieve batch job de OpenAI en us-west-2 en un trabajo por lotes cuyo ID es batch_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.retrieve(batch_id="batch_abc123") # Replace with actual ID
print(job)
- HTTP request
-
Para recuperar un trabajo por lotes con una solicitud HTTP directa, haga lo siguiente:
-
Utilice el método GET y especifique la URL añadiendo el prefijo del punto de conexión de Tiempo de ejecución de Amazon Bedrock delante de /openai/v1/batches/${batch_id}, como en el siguiente formato:
https://${bedrock-runtime-endpoint}/openai/v1/batches/batch_abc123
-
Especifique sus credenciales de AWS o una clave de API de Amazon Bedrock en el encabezado Authorization.
Antes de ejecutar el siguiente ejemplo, reemplace los marcadores de posición en los siguientes campos:
-
Autorización: sustituya $AWS_BEARER_TOKEN_BEDROCK por su clave de API actual.
-
batch_abc123: en la ruta, sustituya este valor por el ID real de su trabajo por lotes.
En el siguiente ejemplo, se llama a la API Retrieve batch de OpenAI en us-west-2 en un trabajo por lotes cuyo ID es batch_abc123.
curl -X GET 'https://bedrock-runtime.us-west-2.amazonaws.com/openai/v1/batches/batch_abc123' \
-H 'Authorization: Bearer $AWS_BEARER_TOKEN_BEDROCK'
Enumeración de trabajos por lotes de OpenAI
Para obtener más información sobre la solicitud y la respuesta de la API List batch de OpenAI, consulte List batch. La respuesta devuelve una matriz de información sobre sus trabajos por lotes.
Al realizar la solicitud, puede incluir parámetros de consulta para filtrar los resultados. La respuesta devuelve información sobre un trabajo por lotes, incluidos los nombres de los archivos de salida y error, que puede buscar en los buckets de S3.
Para ver ejemplos del uso de la API List batches de OpenAI con diferentes métodos, seleccione la pestaña correspondiente al método que prefiera y siga los pasos:
- OpenAI SDK (Python)
-
Para mostrar los trabajos por lotes con el SDK de OpenAI, haga lo siguiente:
-
Importe el SDK de OpenAI y configure el cliente con los siguientes campos:
-
base_url: añada el punto de conexión de Tiempo de ejecución de Amazon Bedrock delante de /openai/v1, como en el siguiente formato:
https://${bedrock-runtime-endpoint}/openai/v1
-
api_key: especifique una clave de API de Amazon Bedrock.
-
default_headers: si necesita incluir algún encabezado, puede incluirlo como pares de clave-valor en este objeto. También puede especificar los encabezados en los extra_headers cuando realice una llamada a la API específica.
-
Use el método batches.list() con el cliente. Puede incluir los siguientes parámetros opcionales:
Antes de ejecutar el siguiente ejemplo, reemplace los marcadores de posición en los siguientes campos:
En el ejemplo, se llama a la API List batch jobs de OpenAI en us-west-2 y se especifica un límite de devolución de dos resultados.
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
-
Para mostrar los trabajos por lotes con una solicitud HTTP directa, haga lo siguiente:
-
Utilice el método GET y especifique la URL añadiendo el prefijo del punto de conexión de Tiempo de ejecución de Amazon Bedrock delante de /openai/v1/batches, como en el siguiente formato:
https://${bedrock-runtime-endpoint}/openai/v1/batches
Puede incluir cualquiera de los parámetros opcionales.
-
Especifique sus credenciales de AWS o una clave de API de Amazon Bedrock en el encabezado Authorization.
Antes de ejecutar el siguiente ejemplo, reemplace los marcadores de posición en los siguientes campos:
En el siguiente ejemplo, se llama a la API List batches de OpenAI en us-west-2 y se especifica un límite de devolución de dos resultados.
curl -X GET 'https://bedrock-runtime.us-west-2.amazonaws.com/openai/v1/batches/batch_abc123' \
-H 'Authorization: Bearer $AWS_BEARER_TOKEN_BEDROCK'
Cancelación de un trabajo por lotes de OpenAI
Para obtener más información sobre la solicitud y la respuesta de la API Cancel batch de OpenAI, consulte Cancel batch. La respuesta devuelve información sobre el trabajo por lotes cancelado.
Al realizar la solicitud, especifique el ID del trabajo por lotes que desea cancelar.
Para ver ejemplos del uso de la API Cancel batch de OpenAI con diferentes métodos, seleccione la pestaña correspondiente al método que prefiera y siga los pasos:
- OpenAI SDK (Python)
-
Para cancelar un trabajo por lotes con el SDK de OpenAI, haga lo siguiente:
-
Importe el SDK de OpenAI y configure el cliente con los siguientes campos:
-
base_url: añada el punto de conexión de Tiempo de ejecución de Amazon Bedrock delante de /openai/v1, como en el siguiente formato:
https://${bedrock-runtime-endpoint}/openai/v1
-
api_key: especifique una clave de API de Amazon Bedrock.
-
default_headers: si necesita incluir algún encabezado, puede incluirlo como pares de clave-valor en este objeto. También puede especificar los encabezados en los extra_headers cuando realice una llamada a la API específica.
-
Use el método batches.cancel() con el cliente y especifique el ID del lote del que quiere recuperar la información.
Antes de ejecutar el siguiente ejemplo, reemplace los marcadores de posición en los siguientes campos:
En el ejemplo, se llama a la API Cancel batch de OpenAI en us-west-2 en un trabajo por lotes cuyo ID es batch_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
-
Para cancelar los trabajos por lotes con una solicitud HTTP directa, haga lo siguiente:
-
Utilice el método POST y especifique la URL añadiendo el punto de conexión de Tiempo de ejecución de Amazon Bedrock delante de /openai/v1/batches/${batch_id}/cancel, como en el siguiente formato:
https://${bedrock-runtime-endpoint}/openai/v1/batches/batch_abc123/cancel
-
Especifique sus credenciales de AWS o una clave de API de Amazon Bedrock en el encabezado Authorization.
Antes de ejecutar el siguiente ejemplo, reemplace los marcadores de posición en los siguientes campos:
-
Autorización: sustituya $AWS_BEARER_TOKEN_BEDROCK por su clave de API actual.
-
batch_abc123: en la ruta, sustituya este valor por el ID real de su trabajo por lotes.
En el siguiente ejemplo, se llama a la API Cancel batch de OpenAI en us-west-2 en un trabajo por lotes cuyo ID es batch_abc123.
curl -X GET 'https://bedrock-runtime.us-west-2.amazonaws.com/openai/v1/batches/batch_abc123/cancel' \
-H 'Authorization: Bearer $AWS_BEARER_TOKEN_BEDROCK'