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

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

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

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

バッチOpenAI作成 API は、次の方法で呼び出すことができます。

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

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

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

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

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

OpenAI バッチ API を使用するための前提条件

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

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

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

  • モデルアクセス – この機能をサポートする Amazon Bedrock モデルへのアクセスをリクエストします。詳細については、「Add or remove access to Amazon Bedrock foundation models」を参照してください。

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

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

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

HTTP request

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

さまざまなメソッドでバッチ作成 API OpenAI を使用する例を確認するには、任意のメソッドのタブを選択し、ステップに従います。

OpenAI SDK (Python)

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

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

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

      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 に置き換えます。

この例では、 でバッチジョブOpenAIの作成 API を呼び出しus-west-2、メタデータを 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 メソッドを使用し、/openai/v1/batches次の形式で Amazon Bedrock ランタイムエンドポイントのプレフィックスを に設定して 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 に置き換えます。

次の例では、 でチャット完了の作成 API を呼び出しus-west-2、メタデータを 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の取得 API リクエストとレスポンスの詳細については、「バッチの取得」を参照してください。

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

さまざまなメソッドでOpenAIバッチ取得 API を使用する例を確認するには、任意のメソッドのタブを選択し、ステップに従います。

OpenAI SDK (Python)

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

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

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

      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の取得 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 ランタイムエンドポイントのプレフィックスを に設定して URL /openai/v1/batches/${batch_id}を指定します。

    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取得 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のリスト API リクエストとレスポンスの詳細については、「バッチのリスト」を参照してください。レスポンスは、バッチジョブに関する情報の配列を返します。

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

さまざまなメソッドでバッチOpenAIのリスト API を使用する例を確認するには、任意のメソッドのタブを選択し、ステップに従います。

OpenAI SDK (Python)

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

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

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

      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 キーに置き換えます。

この例では、 でバッチジョブOpenAIのリスト API を呼び出しus-west-2、返す結果の上限を 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 ランタイムエンドポイントのプレフィックスを に設定して URL /openai/v1/batchesを指定します。

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

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

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

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

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

次の例では、 でバッチOpenAIのリスト API を呼び出しus-west-2、返す結果の上限を 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 バッチジョブをキャンセルする

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

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

さまざまなメソッドでバッチ API OpenAI をキャンセルする例を確認するには、任意のメソッドのタブを選択し、ステップに従います。

OpenAI SDK (Python)

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

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

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

      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 でバッチジョブのキャンセル 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 メソッドを使用し、/openai/v1/batches/${batch_id}/cancel次の形式で Amazon Bedrock ランタイムエンドポイントのプレフィックスを に設定して 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の でバッチ API OpenAI をキャンセルを呼び出します。

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