で 1 つのプロンプトを送信する InvokeModel - Amazon Bedrock

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

で 1 つのプロンプトを送信する InvokeModel

InvokeModel または InvokeModelWithResponseStreamリクエストを送信APIして、 を介してモデルに対して推論を実行します。リクエスト本文とレスポンス本文のメディアタイプは、contentTypeaccept フィールドで指定できます。値を指定しない場合、両フィールドのデフォルト値は application/json です。

ストリーミングは、 を除くすべてのテキスト出力モデルでサポートされています。AI21 Labs Jurassic-2 モデル。モデルがストリーミングをサポートしているかどうかを確認するには、 GetFoundationModelまたは ListFoundationModelsリクエストを送信し、 responseStreamingSupported フィールドの値を確認します。

使用するモデルに応じて、以下のフィールドを指定します。

  1. modelId – モデルまたはスループットの ID または Amazon リソースネーム (ARN) を使用します。ID または を検索する方法は、使用するモデルまたはスループットのタイプARNによって異なります。

    • ベースモデル — 次のいずれかを実行します。

      • Amazon Bedrock でサポートされているすべてのベースモデルのモデルのリストを確認するには、IDs「」を参照してくださいAmazon Bedrock ベースモデル IDs (オンデマンドスループット)

      • ListFoundationModels リクエストを送信し、レスポンスで使用するモデルの modelArn modelIdまたは を見つけます。

      • Amazon Bedrock コンソールで、プロバイダーでモデルを選択し、APIリクエストmodelIdで を見つけます。

    • 推論プロファイル — 次のいずれかを実行します。

      • ListInferenceProfiles リクエストを送信し、レスポンスで使用するinferenceProfileArnモデルの を見つけます。

      • Amazon Bedrock コンソールで、左側のナビゲーションペインからクロスリージョン推論を選択し、推論プロファイルセクションで推論プロファイルARNの ID または を見つけます。

    • プロビジョンドスループット – ベースモデルまたはカスタムモデル用にプロビジョンドスループットを作成した場合は、次のいずれかを実行します。

      • ListProvisionedModelThroughputs リクエストを送信し、レスポンスで使用するprovisionedModelArnモデルの を見つけます。

      • Amazon Bedrock コンソールで、左側のナビゲーションペインからプロビジョンドスループットを選択し、プロビジョンドスループットセクションでプロビジョンドスループットを選択します。次に、モデルの詳細セクションでプロビジョンドスループットARNの ID または を見つけます。

    • カスタムモデル – カスタムモデルのプロビジョンドスループットを購入し (詳細については、「」を参照Amazon Bedrock のプロビジョンドスループットでモデル呼び出し容量を増やす)、プロビジョニングされたモデルのモデル ID または を見つけARNます。

  2. body – 各ベースモデルには、body フィールドで設定する独自のパラメータがあります。カスタムモデルまたはプロビジョニングモデルの推論パラメータは、作成元のベースモデルによって異なります。詳細については、「基盤モデルの推論パラメータ」を参照してください。

モデルコードの呼び出しの例

次の例は、 を使用して推論を実行する方法を示していますInvokeModelAPI。さまざまなモデルの例については、目的のモデルの推論パラメータリファレンス (基盤モデルの推論パラメータ) を参照してください。

CLI

次の例では、生成されたレスポンスをプロンプトに保存します。story of two dogs という名前のファイルへの invoke-model-output.txt.

aws bedrock-runtime invoke-model \ --model-id anthropic.claude-v2 \ --body '{"prompt": "\n\nHuman: story of two dogs\n\nAssistant:", "max_tokens_to_sample" : 300}' \ --cli-binary-format raw-in-base64-out \ invoke-model-output.txt
Python

次の例では、生成されたレスポンスをプロンプトに返します。explain black holes to 8th graders.

import boto3 import json brt = boto3.client(service_name='bedrock-runtime') body = json.dumps({ "prompt": "\n\nHuman: explain black holes to 8th graders\n\nAssistant:", "max_tokens_to_sample": 300, "temperature": 0.1, "top_p": 0.9, }) modelId = 'anthropic.claude-v2' accept = 'application/json' contentType = 'application/json' response = brt.invoke_model(body=body, modelId=modelId, accept=accept, contentType=contentType) response_body = json.loads(response.get('body').read()) # text print(response_body.get('completion'))

ストリーミングコードによるモデル呼び出しの例

注記

- AWS CLI はストリーミングをサポートしていません。

次の例は、 を使用してInvokeModelWithResponseStreamAPI、プロンプトを使用して Python でストリーミングテキストを生成する方法を示しています。write an essay for living on mars in 1000 words.

import boto3 import json brt = boto3.client(service_name='bedrock-runtime') body = json.dumps({ 'prompt': '\n\nHuman: write an essay for living on mars in 1000 words\n\nAssistant:', 'max_tokens_to_sample': 4000 }) response = brt.invoke_model_with_response_stream( modelId='anthropic.claude-v2', body=body ) stream = response.get('body') if stream: for event in stream: chunk = event.get('chunk') if chunk: print(json.loads(chunk.get('bytes').decode()))