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 とこれらのモデルをサポートする AWS リージョンでサポートされているすべての OpenAI モデルで使用できます。サポートされているモデルとリージョンの詳細については、「Amazon Bedrock でサポートされている基盤モデル」を参照してください。

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

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

OpenAI SDK
  • 認証 – OpenAI SDK は Amazon Bedrock API キーを使用した認証のみをサポートします。Amazon Bedrock API キーを生成してリクエストを認証します。Amazon Bedrock API キーとその生成方法については、「Amazon Bedrock API キーを生成して Amazon Bedrock API に対して簡単に認証する」を参照してください。

  • エンドポイントAmazon Bedrock ランタイムエンドポイントとクォータで使用する AWS リージョンに対応するエンドポイントを見つけます。AWS SDK を使用する場合、クライアントの設定時にはエンドポイント全体ではなく、リージョンコードのみを指定する必要がある場合があります。

  • モデルアクセス – この機能をサポートする Amazon Bedrock モデルへのアクセスをリクエストします。詳細については、「AWS GovCloud (米国) で Amazon Bedrock 基盤モデルにアクセスする」を参照してください。

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

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

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

HTTP request

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

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

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

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

リクエストを形成する

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

[Request headers] (リクエストヘッダー)
リクエスト本文パラメータ
  • 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'