OpenAI Batch API を使用してプロンプトのバッチを送信する - Amazon Bedrock

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

OpenAI Batch API を使用してプロンプトのバッチを送信する

Amazon Bedrock OpenAI モデルで OpenAI Create batch API を使用してバッチ推論ジョブを実行できます。

以下の方法で OpenAI Create batch API を呼び出すことができます。

  • Amazon Bedrock ランタイムエンドポイントを使用して HTTP リクエストを行う。

  • Amazon Bedrock ランタイムエンドポイントで OpenAI SDK リクエストを使用する。

詳細情報については、トピックを選択してください。

OpenAI batch API でサポートされているモデルとリージョン

OpenAI Create batch API は、Amazon Bedrock およびこれらのOpenAIモデルをサポートする AWS リージョンでサポートされているすべてのモデルで使用できます。サポートされているモデルとリージョンの詳細については、「Amazon Bedrock でサポートされている基盤モデル」を参照してください。

OpenAI batch API を使用するための前提条件

OpenAI batch API オペレーションを使用するための前提条件を確認するには、任意の方法のタブを選択し、ステップに従います。

OpenAI SDK
  • 認証 – OpenAI SDK は Amazon Bedrock API キーを使用した認証のみをサポートします。Amazon Bedrock API キーを生成してリクエストを認証します。Amazon Bedrock API キーとその生成方法については、「ビルド」章の「API キー」セクションを参照してください。

  • エンドポイント – Amazon Bedrock ランタイムエンドポイントとクォータで使用する AWS リージョンに対応するエンドポイントを見つけます。 https://docs.aws.amazon.com/general/latest/gr/bedrock.html#br-rt AWS SDK を使用する場合は、クライアントの設定時にエンドポイント全体ではなく、リージョンコードを指定するだけで済みます。

  • モデルアクセス – この機能をサポートする Amazon Bedrock モデルへのアクセスをリクエストします。詳細については、「SDK と CLI を使用してモデルアクセスを管理する」を参照してください。

  • OpenAI SDK のインストール – 詳細については、「OpenAI ドキュメント」の「ライブラリ」を参照してください。

  • S3 にアップロードされたバッチ JSONL ファイル – 「OpenAI ドキュメント」の「バッチファイルの準備」の手順に従って、バッチファイルを正しい形式で準備します。これを Amazon S3 バケットにアップロードします。

  • IAM アクセス許可 – 適切なアクセス許可を持つ次の IAM ID があることを確認します。

HTTP request
  • 認証 – AWS 認証情報または Amazon Bedrock API キーを使用して認証できます。

    AWS 認証情報を設定するか、Amazon Bedrock API キーを生成してリクエストを認証します。

  • エンドポイント – Amazon Bedrock ランタイムエンドポイントとクォータで使用する AWS リージョンに対応するエンドポイントを見つけます。 https://docs.aws.amazon.com/general/latest/gr/bedrock.html#br-rt AWS SDK を使用する場合は、クライアントの設定時にエンドポイント全体ではなく、リージョンコードを指定するだけで済みます。

  • モデルアクセス – この機能をサポートする Amazon Bedrock モデルへのアクセスをリクエストします。詳細については、「SDK と CLI を使用してモデルアクセスを管理する」を参照してください。

  • S3 にアップロードされたバッチ JSONL ファイル – 「OpenAI ドキュメント」の「バッチファイルの準備」の手順に従って、バッチファイルを正しい形式で準備します。これを Amazon S3 バケットにアップロードします。

  • IAM アクセス許可 – 適切なアクセス許可を持つ次の IAM ID があることを確認します。

OpenAI バッチジョブを作成する

OpenAI Create batch API の詳細については、「OpenAI ドキュメント」の以下のリソースを参照してください。

  • バッチの作成 – リクエストとレスポンスの両方の詳細を表示します。

  • リクエスト出力オブジェクト – バッチジョブから生成された出力のフィールドの詳細を表示します。S3 バケットで結果を解釈する場合は、このドキュメントを参照してください。

リクエストを形成する

バッチ推論リクエストを形成するときは、次の Amazon Bedrock 固有のフィールドと値に注意してください。

リクエストヘッダー
リクエスト本文パラメータ
  • endpoint – v1/chat/completions である必要があります。

  • input_file_id – バッチ JSONL ファイルの S3 URI を指定します。

生成された結果を検索する

作成レスポンスにはバッチ ID が含まれます。バッチ推論ジョブの結果とエラーログは、入力ファイルを含む S3 フォルダに書き込まれます。結果は、次のフォルダ構造と同様に、バッチ ID と同じ名前のフォルダにあります。

---- {batch_input_folder} |---- {batch_input}.jsonl |---- {batch_id} |---- {batch_input}.jsonl.out |---- {batch_input}.jsonl.err

さまざまな方法の OpenAI Create batch API の例を確認するには、任意の方法のタブを選択して手順に従います。

OpenAI SDK (Python)

OpenAI SDK を使用してバッチジョブを作成するには、次の手順を実行します。

  1. OpenAI SDK をインポートし、次のフィールドを使用してクライアントを設定します。

    • base_url – 次の形式のように、Amazon Bedrock ランタイムエンドポイントのプレフィックスを /openai/v1 に付けます。

      https://${bedrock-runtime-endpoint}/openai/v1
    • api_key – Amazon Bedrock API キーを指定します。

    • default_headers – ヘッダーを含める必要がある場合は、キーと値のペアとしてこのオブジェクトに含めることができます。または、特定の API コールを行うときに extra_headers でヘッダーを指定することもできます。

  2. クライアントで batches.create() 方法を使用します。

次の例を実行する前に、次のフィールドのプレースホルダーを置き換えます。

  • api_key – $AWS_BEARER_TOKEN_BEDROCK を実際の API キーに置き換えます。

  • X-Amzn-BedrockRoleArn – arn:aws:iam::123456789012:role/BatchServiceRole を、設定した実際のバッチ推論サービスロールに置き換えます。

  • input_file_id – s3://amzn-s3-demo-bucket/openai-input.jsonl を、バッチ JSONL ファイルをアップロードした実際の S3 URI に置き換えます。

この例では、us-west-2 で OpenAI Create batch job API を呼び出し、メタデータを 1 つ含めます。

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

直接 HTTP リクエストを使用してチャット完了を作成するには、次の手順を実行します。

  1. POST メソッドを使用し、次の形式で Amazon Bedrock ランタイムエンドポイントのプレフィックスを /openai/v1/batches に付け加えて URL を指定します。

    https://${bedrock-runtime-endpoint}/openai/v1/batches
  2. Authorization ヘッダーで AWS 認証情報または Amazon Bedrock API キーを指定します。

次の例を実行する前に、まず次のフィールドのプレースホルダーを置き換えます。

  • 認証 – $AWS_BEARER_TOKEN_BEDROCK を実際の API キーに置き換えます。

  • X-Amzn-BedrockRoleArn – arn:aws:iam::123456789012:role/BatchServiceRole を、設定した実際のバッチ推論サービスロールに置き換えます。

  • input_file_id – s3://amzn-s3-demo-bucket/openai-input.jsonl を、バッチ JSONL ファイルをアップロードした実際の S3 URI に置き換えます。

次の例では、us-west-2 で Create chat completion API を呼び出し、メタデータを 1 つ含めます。

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

OpenAI バッチジョブを取得する

OpenAI Retrieve batch API リクエストとレスポンスの詳細については、「Retrieve batch」を参照してください。

リクエストを行うときは、情報を取得するバッチジョブの ID を指定します。レスポンスは、S3 バケットで検索できる出力ファイル名やエラーファイル名など、バッチジョブに関する情報を返します。

さまざまな方法の OpenAI Retrieve batch API を使用する例を確認するには、任意の方法のタブを選択して手順に従います。

OpenAI SDK (Python)

OpenAI SDK を使用してバッチジョブを取得するには、次の手順を実行します。

  1. OpenAI SDK をインポートし、次のフィールドを使用してクライアントを設定します。

    • base_url – 次の形式のように、Amazon Bedrock ランタイムエンドポイントのプレフィックスを /openai/v1 に付けます。

      https://${bedrock-runtime-endpoint}/openai/v1
    • api_key – Amazon Bedrock API キーを指定します。

    • default_headers – ヘッダーを含める必要がある場合は、キーと値のペアとしてこのオブジェクトに含めることができます。または、特定の API コールを行うときに extra_headers でヘッダーを指定することもできます。

  2. クライアントで batches.retrieve() 方法を使用し、情報を取得するバッチの ID を指定します。

次の例を実行する前に、次のフィールドのプレースホルダーを置き換えます。

  • api_key – $AWS_BEARER_TOKEN_BEDROCK を実際の API キーに置き換えます。

  • batch_id – $AWS_BEARER_TOKEN_BEDROCK を実際の API キーに置き換えます。

この例では、ID が batch_abc123 であるバッチジョブで、us-west-2 の OpenAI Retrieve batch job API を呼び出します。

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

直接 HTTP リクエストを使用してバッチジョブを取得するには、次の手順を実行します。

  1. GET メソッドを使用し、次の形式で Amazon Bedrock ランタイムエンドポイントのプレフィックスを /openai/v1/batches/${batch_id} に設付け加えて URL を指定します。

    https://${bedrock-runtime-endpoint}/openai/v1/batches/batch_abc123
  2. Authorization ヘッダーで AWS 認証情報または Amazon Bedrock API キーを指定します。

次の例を実行する前に、まず次のフィールドのプレースホルダーを置き換えます。

  • 認証 – $AWS_BEARER_TOKEN_BEDROCK を実際の API キーに置き換えます。

  • batch_abc123 – パスで、この値をバッチジョブの実際の ID に置き換えます。

この例では、ID が batch_abc123 であるバッチジョブで、us-west-2 の OpenAI Retrieve batch API を呼び出します。

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

OpenAI バッチジョブの一覧表示

OpenAI List batches API リクエストとレスポンスの詳細については、「List batches」を参照してください。レスポンスは、バッチジョブに関する情報の配列を返します。

リクエストを行うときに、クエリパラメータを含めて結果をフィルタリングできます。レスポンスは、S3 バケットで検索できる出力ファイル名やエラーファイル名など、バッチジョブに関する情報を返します。

さまざまな方法で OpenAI List batches API の例を確認するには、任意の方法のタブを選択して手順に従います。

OpenAI SDK (Python)

OpenAI SDK を使用してバッチジョブを一覧表示するには、次の手順を実行します。

  1. OpenAI SDK をインポートし、次のフィールドを使用してクライアントを設定します。

    • base_url – 次の形式のように、Amazon Bedrock ランタイムエンドポイントのプレフィックスを /openai/v1 に付けます。

      https://${bedrock-runtime-endpoint}/openai/v1
    • api_key – Amazon Bedrock API キーを指定します。

    • default_headers – ヘッダーを含める必要がある場合は、キーと値のペアとしてこのオブジェクトに含めることができます。または、特定の API コールを行うときに extra_headers でヘッダーを指定することもできます。

  2. クライアントで batches.list() 方法を使用します。オプションのパラメータを任意に含めることができます。

次の例を実行する前に、次のフィールドのプレースホルダーを置き換えます。

  • api_key – $AWS_BEARER_TOKEN_BEDROCK を実際の API キーに置き換えます。

この例では、us-west-2 で OpenAI List batch jobs API を呼び出し、返す結果の上限を 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

直接 HTTP リクエストを使用してバッチジョブを一覧表示するには、次の手順を実行します。

  1. GET 方法を使用し、次の形式で Amazon Bedrock ランタイムエンドポイントのプレフィックスを /openai/v1/batches に設付け加えて URL を指定します。

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

    オプションのクエリパラメータを任意に含めることができます。

  2. Authorization ヘッダーで AWS 認証情報または Amazon Bedrock API キーを指定します。

次の例を実行する前に、まず次のフィールドのプレースホルダーを置き換えます。

  • 認証 – $AWS_BEARER_TOKEN_BEDROCK を実際の API キーに置き換えます。

次の例では、us-west-2 で OpenAI List batches API を呼び出し、返す結果の上限を 2 つ指定します。

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

OpenAI バッチジョブをキャンセルする

OpenAI Cancel batch API のリクエストとレスポンスの詳細については、「Cancel batch」を参照してください。レスポンスは、キャンセルされたバッチジョブに関する情報を返します。

リクエストを行うときは、キャンセルするバッチジョブの ID を指定します。

さまざまな方法で OpenAI Cancel batch API を使用する例を確認するには、任意の方法のタブを選択して手順に従います。

OpenAI SDK (Python)

OpenAI SDK を使用してバッチジョブをキャンセルするには、次の手順を実行します。

  1. OpenAI SDK をインポートし、次のフィールドを使用してクライアントを設定します。

    • base_url – 次の形式のように、Amazon Bedrock ランタイムエンドポイントのプレフィックスを /openai/v1 に付けます。

      https://${bedrock-runtime-endpoint}/openai/v1
    • api_key – Amazon Bedrock API キーを指定します。

    • default_headers – ヘッダーを含める必要がある場合は、キーと値のペアとしてこのオブジェクトに含めることができます。または、特定の API コールを行うときに extra_headers でヘッダーを指定することもできます。

  2. クライアントで batches.cancel() 方法を使用し、情報を取得するバッチの ID を指定します。

次の例を実行する前に、次のフィールドのプレースホルダーを置き換えます。

  • api_key – $AWS_BEARER_TOKEN_BEDROCK を実際の API キーに置き換えます。

  • batch_id – $AWS_BEARER_TOKEN_BEDROCK を実際の API キーに置き換えます。

この例では、ID が batch_abc123 であるバッチジョブで、us-west-2 の OpenAI Cancel batch job API を呼び出します。

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

直接 HTTP リクエストを使用してバッチジョブをキャンセルするには、次の手順を実行します。

  1. POST メソッドを使用し、次の形式で Amazon Bedrock ランタイムエンドポイントのプレフィックスを /openai/v1/batches/${batch_id}/cancel に付け加えて URL を指定します。

    https://${bedrock-runtime-endpoint}/openai/v1/batches/batch_abc123/cancel
  2. Authorization ヘッダーで AWS 認証情報または Amazon Bedrock API キーを指定します。

次の例を実行する前に、まず次のフィールドのプレースホルダーを置き換えます。

  • 認証 – $AWS_BEARER_TOKEN_BEDROCK を実際の API キーに置き換えます。

  • batch_abc123 – パスで、この値をバッチジョブの実際の ID に置き換えます。

この例では、ID が batch_abc123 であるバッチジョブで、us-west-2 の OpenAI Cancel batch API を呼び出します。

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