Envíe un lote de solicitudes con la API OpenAI Batch - Amazon Bedrock

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íe un lote de solicitudes con la API OpenAI Batch

Puede ejecutar un trabajo de inferencia por lotes mediante la API OpenAI Create batch con los modelos de Amazon BedrockOpenAI.

Puede llamar a la API OpenAI Create Batch de las siguientes maneras:

  • Realice una solicitud HTTP con un punto de conexión de Amazon Bedrock Runtime.

  • Utilice una solicitud de OpenAI SDK con un punto de conexión Amazon Bedrock Runtime.

Seleccione un tema para obtener más información:

Modelos y regiones compatibles con la API OpenAI por lotes

Puede usar la API OpenAI Create batch con todos los OpenAI modelos compatibles con Amazon Bedrock y en las AWS regiones que admiten estos modelos. Para obtener más información sobre los modelos y las regiones compatibles, consulteModelos fundacionales compatibles en Amazon Bedrock.

Requisitos previos para usar la API OpenAI por lotes

Para ver los requisitos previos para utilizar las operaciones de la API OpenAI por lotes, selecciona la pestaña correspondiente al método que prefieras y, a continuación, sigue los pasos:

OpenAI SDK
HTTP request

Cree un trabajo por lotes OpenAI

Para obtener más información sobre la API de OpenAI creación de lotes, consulte los siguientes recursos de la OpenAI documentación:

  • Crear lote: detalla tanto la solicitud como la respuesta.

  • El objeto de salida de la solicitud: 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.

Forme la solicitud

Al elaborar la solicitud de inferencia por lotes, tenga en cuenta los siguientes campos y valores específicos de Amazon Bedrock:

Encabezados de solicitudes
Parámetros del cuerpo de la solicitud:
  • punto final: debe serv1/chat/completions.

  • input_file_id: especifique el URI de S3 del archivo JSONL por lotes.

Encuentra los resultados generados

La respuesta de creación incluye un identificador de lote. Los resultados y el registro de errores del trabajo de inferencia por lotes se escriben en la carpeta S3 que contiene el archivo de entrada. Los resultados estarán en una carpeta con el mismo nombre que el identificador 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 de OpenAI creación de lotes con diferentes métodos, selecciona la pestaña del método que prefieras y, a continuación, sigue los pasos:

OpenAI SDK (Python)

Para crear un trabajo por lotes con el OpenAI SDK, haga lo siguiente:

  1. Importe el OpenAI SDK y configure el cliente con los siguientes campos:

    • base_url— Prefije el prefijo del punto final de Amazon Bedrock Runtime a/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 clave-valor en este objeto. También puedes especificar los encabezados extra_headers cuando realices una llamada a la API específica.

  2. Usa el método batches.create () con el cliente.

Antes de ejecutar el siguiente ejemplo, sustituya los marcadores de posición en los siguientes campos:

  • api_key: reemplázala por tu clave $AWS_BEARER_TOKEN_BEDROCK de API actual.

  • X-Amzn-BedrockRoleArn — arn:aws:iam::123456789012:role/BatchServiceRole Sustitúyala por la función de servicio de inferencia por lotes real que configuraste.

  • input_file_id: s3://amzn-s3-demo-bucket/openai-input.jsonl sustitúyelo por el URI de S3 real al que cargó el archivo JSONL por lotes.

En el ejemplo, se llama a la API OpenAI Create Batch Job e incluye un fragmento de metadatosus-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 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 completar un chat con una solicitud HTTP directa, haz lo siguiente:

  1. Utilice el método POST y especifique la URL poniendo el prefijo del punto de enlace Amazon Bedrock Runtime a/openai/v1/batches, como en el siguiente formato:

    https://${bedrock-runtime-endpoint}/openai/v1/batches
  2. Especifique sus AWS credenciales o una clave de API de Amazon Bedrock en el Authorization encabezado.

Antes de ejecutar el siguiente ejemplo, sustituya primero los marcadores de posición en los siguientes campos:

  • Autorización: $AWS_BEARER_TOKEN_BEDROCK sustitúyala por tu clave de API actual.

  • X-Amzn-BedrockRoleArn — arn:aws:iam::123456789012:role/BatchServiceRole Sustitúyala por la función de servicio de inferencia por lotes real que configuraste.

  • input_file_id: s3://amzn-s3-demo-bucket/openai-input.jsonl sustitúyelo por el URI de S3 real al que cargó el archivo JSONL por lotes.

El siguiente ejemplo llama a la API Create para completar el chat e incluye un fragmento de metadatos: us-west-2

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

Recupera un trabajo OpenAI por lotes

Para obtener más información sobre la OpenAI solicitud y la respuesta de la API Retrieve batch, consulta 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 depósitos de S3.

Para ver ejemplos del uso de la API OpenAI Retrieve batch con diferentes métodos, selecciona la pestaña del método que prefieras y, a continuación, sigue los pasos:

OpenAI SDK (Python)

Para recuperar un trabajo por lotes con el OpenAI SDK, haga lo siguiente:

  1. Importe el OpenAI SDK y configure el cliente con los siguientes campos:

    • base_url— Prefije el prefijo del punto final de Amazon Bedrock Runtime a/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 clave-valor en este objeto. También puedes especificar los encabezados extra_headers cuando realices una llamada a la API específica.

  2. Usa el método batches.retrieve () con el cliente y especifica el ID del lote del que quieres recuperar la información.

Antes de ejecutar el siguiente ejemplo, sustituya los marcadores de posición en los campos siguientes:

  • api_key: reemplázala por tu clave $AWS_BEARER_TOKEN_BEDROCK de API actual.

  • batch_id: reemplázala por tu clave de API $AWS_BEARER_TOKEN_BEDROCK actual.

En el ejemplo, se llama a la OpenAI API Retrieve Batch Job 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:

  1. Utilice el método GET y especifique la URL poniendo el prefijo del punto final de Amazon Bedrock Runtime a/openai/v1/batches/${batch_id}, como en el siguiente formato:

    https://${bedrock-runtime-endpoint}/openai/v1/batches/batch_abc123
  2. Especifique sus AWS credenciales o una clave de API de Amazon Bedrock en el Authorization encabezado.

Antes de ejecutar el siguiente ejemplo, sustituya primero los marcadores de posición en los siguientes campos:

  • Autorización: $AWS_BEARER_TOKEN_BEDROCK sustitúyala por tu clave de API actual.

  • batch_abc123: en la ruta, sustituye este valor por el ID real de tu trabajo por lotes.

En el siguiente ejemplo, se llama a la API OpenAI Retrieve batch 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'

Enumere los trabajos OpenAI por lotes

Para obtener más información sobre la solicitud y la respuesta de la API OpenAI List batches, consulta List batches. La respuesta devuelve una serie 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 depósitos de S3.

Para ver ejemplos del uso de la API OpenAI List batches con diferentes métodos, selecciona la pestaña del método que prefieras y, a continuación, sigue los pasos:

OpenAI SDK (Python)

Para enumerar los trabajos por lotes con el OpenAI SDK, haga lo siguiente:

  1. Importe el OpenAI SDK y configure el cliente con los siguientes campos:

    • base_url— Prefije el prefijo del punto final de Amazon Bedrock Runtime a/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 clave-valor en este objeto. También puedes especificar los encabezados extra_headers cuando realices una llamada a la API específica.

  2. Usa el método batches.list () con el cliente. Puede incluir cualquiera de los parámetros opcionales.

Antes de ejecutar el siguiente ejemplo, sustituya los marcadores de posición en los campos siguientes:

  • api_key: reemplázala por tu clave $AWS_BEARER_TOKEN_BEDROCK de API actual.

En el ejemplo, se llama a la API OpenAI List Batch Jobs us-west-2 y se especifica un límite de 2 resultados que se deben devolver.

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 enumerar los trabajos por lotes con una solicitud HTTP directa, haga lo siguiente:

  1. Utilice el método GET y especifique la URL poniendo el prefijo del punto final de Amazon Bedrock Runtime a/openai/v1/batches, como en el siguiente formato:

    https://${bedrock-runtime-endpoint}/openai/v1/batches

    Puede incluir cualquiera de los parámetros de consulta opcionales.

  2. Especifique sus AWS credenciales o una clave de API de Amazon Bedrock en el Authorization encabezado.

Antes de ejecutar el siguiente ejemplo, sustituya primero los marcadores de posición en los siguientes campos:

  • Autorización: $AWS_BEARER_TOKEN_BEDROCK sustitúyala por tu clave de API actual.

En el siguiente ejemplo, se llama a la API OpenAI List batches us-west-2 y se especifica un límite de 2 resultados que se deben devolver.

curl -X GET 'https://bedrock-runtime.us-west-2.amazonaws.com/openai/v1/batches/batch_abc123' \ -H 'Authorization: Bearer $AWS_BEARER_TOKEN_BEDROCK'

Cancela un trabajo OpenAI por lotes

Para obtener más información sobre la OpenAI solicitud y la respuesta de la API de cancelación de lotes, consulta Cancelar lote. La respuesta devuelve información sobre el trabajo por lotes cancelado.

Al realizar la solicitud, especifique el identificador del trabajo por lotes que desea cancelar.

Para ver ejemplos del uso de la API de OpenAI cancelación de lotes con diferentes métodos, selecciona la pestaña del método que prefieras y, a continuación, sigue los pasos:

OpenAI SDK (Python)

Para cancelar un trabajo por lotes con el OpenAI SDK, haga lo siguiente:

  1. Importe el OpenAI SDK y configure el cliente con los siguientes campos:

    • base_url— Prefije el prefijo del punto final de Amazon Bedrock Runtime a/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 clave-valor en este objeto. También puedes especificar los encabezados extra_headers cuando realices una llamada a la API específica.

  2. Usa el método batches.cancel () con el cliente y especifica el ID del lote del que quieres recuperar la información.

Antes de ejecutar el siguiente ejemplo, sustituya los marcadores de posición en los campos siguientes:

  • api_key: reemplázala por tu clave $AWS_BEARER_TOKEN_BEDROCK de API actual.

  • batch_id: reemplázala por tu clave de API $AWS_BEARER_TOKEN_BEDROCK actual.

El ejemplo llama a la API OpenAI Cancelar trabajos por lotes 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 un trabajo por lotes con una solicitud HTTP directa, haga lo siguiente:

  1. Utilice el método POST y especifique la URL poniendo el prefijo del punto de enlace Amazon Bedrock Runtime a/openai/v1/batches/${batch_id}/cancel, como en el siguiente formato:

    https://${bedrock-runtime-endpoint}/openai/v1/batches/batch_abc123/cancel
  2. Especifique sus AWS credenciales o una clave de API de Amazon Bedrock en el Authorization encabezado.

Antes de ejecutar el siguiente ejemplo, sustituya primero los marcadores de posición en los siguientes campos:

  • Autorización: $AWS_BEARER_TOKEN_BEDROCK sustitúyala por tu clave de API actual.

  • batch_abc123: en la ruta, sustituye este valor por el ID real de tu trabajo por lotes.

En el siguiente ejemplo, se llama a la API de OpenAI cancelación de lotes 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'