API を使用して 1 つのプロンプトでモデルを呼び出します。 - Amazon Bedrock

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

API を使用して 1 つのプロンプトでモデルを呼び出します。

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

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

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

  1. modelId — モデル ID またはその ARN のいずれかを使用します。modelIdまたはを見つける方法は、modelArn使用するモデルのタイプによって異なります。

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

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

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

      • コンソールの [プロバイダー] でモデルを選択し、API リクエストの例から modelId を探します。

    • カスタムモデル — カスタムモデルのプロビジョンドスループットを購入し (詳細については「Amazon Bedrock のプロビジョンドスループット」を参照)、プロビジョニングされたモデルのモデル ID または ARN を確認します。

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

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

      • コンソールで、「プロビジョニングされたスループット」でモデルを選択し、「モデルの詳細」セクションでモデル ARN を見つけます。

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

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

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

CLI

次の例では、2 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

次の例は、「8 年生にブラックホールを説明してください」というプロンプトに対して生成されたレスポンスを返します。

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 でストリーミングテキストを生成する方法を示しています。プロンプトには、「火星に暮らすためのエッセイを1000語で書いてください」というプロンプトが表示されます。

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()))