プロンプトを最適化する - Amazon Bedrock

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

プロンプトを最適化する

Amazon Bedrock には、プロンプトを最適化するためのツールが用意されています。最適化を行うと、プロンプトが書き換えられて、ユースケースにより適した推論結果が得られます。プロンプトを最適化するモデルを選択し、改訂されたプロンプトを生成できます。

最適化するプロンプトを送信すると、Amazon Bedrock によってプロンプトのコンポーネントが分析されます。分析に成功した場合、プロンプトが書き換えられます。その後、最適化されたプロンプトのテキストをコピーして使用できます。

注記

最良の結果を得るには、英語でプロンプトを最適化することをお勧めします。

プロンプトの最適化でサポートされているリージョンおよびモデル

次の表は、プロンプト最適化のモデルサポートを示しています。

プロバイダー モデル モデル ID 単一リージョンモデルのサポート
Amazon Nova Lite amazon.nova-lite-v1:0

ap-southeast-2

eu-west-2

us–east–1

Amazon Nova Micro amazon.nova-micro-v1:0

ap-southeast-2

eu-west-2

us–east–1

Amazon Nova Premier amazon.nova-premier-v1:0
Amazon Nova Pro amazon.nova-pro-v1:0

ap-southeast-2

eu-west-2

us–east–1

Anthropic Claude 3 Haiku anthropic.claude-3-haiku-20240307-v1:0

ap-south-1

ap-southeast-2

ca-central-1

eu-central-1

eu-west-1

eu-west-2

eu-west-3

sa-east-1

us–east–1

us-west-2

Anthropic Claude 3 Opus anthropic.claude-3-opus-20240229-v1:0
Anthropic Claude 3 Sonnet anthropic.claude-3-sonnet-20240229-v1:0

ap-south-1

ap-southeast-2

ca-central-1

eu-central-1

eu-west-1

eu-west-2

eu-west-3

sa-east-1

us–east–1

us-west-2

Anthropic Claude 3.5 Haiku anthropic.claude-3-5-haiku-20241022-v1:0

us-west-2

Anthropic Claude 3.5 Sonnet anthropic.claude-3-5-sonnet-20240620-v1:0

eu-central-1

us–east–1

us-west-2

Anthropic Claude 3.5 Sonnet v2 anthropic.claude-3-5-sonnet-20241022-v2:0

ap-southeast-2

us-west-2

Anthropic Claude 3.7 Sonnet anthropic.claude-3-7-sonnet-20250219-v1:0

eu-west-2

Anthropic Claude Opus 4 anthropic.claude-opus-4-20250514-v1:0
Anthropic Claude Sonnet 4 anthropic.claude-sonnet-4-20250514-v1:0
DeepSeek DeepSeek-R1 deepseek.r1-v1:0
Meta Llama 3 70B Instruct meta.llama3-70b-instruct-v1:0

ap-south-1

ca-central-1

eu-west-2

us–east–1

us-west-2

Meta Llama 3.1 70B Instruct meta.llama3-1-70b-instruct-v1:0

us-west-2

Meta Llama 3.2 11B インストラクション meta.llama3-2-11b-instruct-v1:0
Meta Llama 3.3 70B インストラクション meta.llama3-3-70b-instruct-v1:0
Meta Llama 4 Maverick 17B Instruct meta.llama4-maverick-17b-instruct-v1:0
Meta Llama 4 Scout 17B Instruct meta.llama4-scout-17b-instruct-v1:0
Mistral AI Mistral Large (24.02) mistral.mistral-large-2402-v1:0

ap-south-1

ap-southeast-2

ca-central-1

eu-west-1

eu-west-2

eu-west-3

sa-east-1

us–east–1

us-west-2

Mistral AI Mistral Large (24.07) mistral.mistral-large-2407-v1:0

us-west-2

最適化するプロンプトを送信する

プロンプトを最適化する方法については、任意の方法のタブを選択し、そのステップに従ってください。

Console

AWS マネジメントコンソールでプレイグラウンドまたはプロンプト管理を使用して、プロンプトを最適化できます。プロンプトを最適化する前に、モデルを選択する必要があります。プロンプトは、選択したモデルに合わせて最適化されます。

プレイグラウンドでプロンプトを最適化するには
  1. Amazon Bedrock プレイグラウンドでプロンプトを記述する方法については、「Generate responses in the console using playgrounds」の手順に従ってください。

  2. プロンプトを記述してモデルを選択したら、ワンドアイコン ( Sparkle icon representing cleaning or refreshing functionality. ) を選択します。[プロンプトを最適化] ダイアログボックスが開き、Amazon Bedrock がプロンプトの最適化を開始します。

  3. Amazon Bedrock がプロンプトの分析と最適化を完了したら、ダイアログボックス内で元のプロンプトを最適化されたプロンプトと並べて比較できます。

  4. プロンプトをプレイグラウンド内の最適化されたプロンプトに置き換えるには、[最適化されたプロンプトを使用] を選択します。元のプロンプトを保持するには、[キャンセル] を選択します。

  5. プロンプトを送信してレスポンスを生成するには、[実行] を選択します。

プロンプト管理でプロンプトを最適化するには
  1. プロンプト管理を使用してプロンプトを記述する方法については、「プロンプト管理を使用してプロンプトを作成する」の手順に従ってください。

  2. プロンプトを記述してモデルを選択したら、[プロンプト] ボックスの上部にある ( Sparkle icon representing cleaning or refreshing functionality. ) [最適化] を選択します。

  3. Amazon Bedrock がプロンプトの分析と最適化を完了すると、最適化されたプロンプトが元のプロンプトの隣にバリアントとして表示されます。

  4. 最適化されたプロンプトを元のプロンプトの代わりに使用するには、[元のプロンプトを置き換える] を選択します。元のプロンプトを保持するには、[比較を終了] を選択し、元のプロンプトを保存することを選択します。

    注記

    比較ビューに 3 つのプロンプトがある場合に、別のプロンプトを最適化しようとすると、元のプロンプトまたはいずれかのバリアントを上書きして置き換えるように求められます。

  5. プロンプトを送信してレスポンスを生成するには、[実行] を選択します。

API

プロンプトを最適化するには、Amazon Bedrock エージェントのランタイムエンドポイントを使用して OptimizePrompt リクエストを送信します。input オブジェクトで最適化するプロンプトを指定し、targetModelId フィールドで最適化の対象となるモデルを指定します。

レスポンスストリームは以下のイベントを返します。

  1. analyzePromptEvent – プロンプトの分析が完了すると表示されます。プロンプトの分析結果を説明するメッセージが含まれます。

  2. optimizedPromptEvent – プロンプトの書き換えが完了すると表示されます。最適化されたプロンプトが含まれます。

次のコードサンプルを実行して、プロンプトを最適化します。

import boto3 # Set values here TARGET_MODEL_ID = "anthropic.claude-3-sonnet-20240229-v1:0" # Model to optimize for. For model IDs, see https://docs.aws.amazon.com/bedrock/latest/userguide/model-ids.html PROMPT = "Please summarize this text: " # Prompt to optimize def get_input(prompt): return { "textPrompt": { "text": prompt } } def handle_response_stream(response): try: event_stream = response['optimizedPrompt'] for event in event_stream: if 'optimizedPromptEvent' in event: print("========================== OPTIMIZED PROMPT ======================\n") optimized_prompt = event['optimizedPromptEvent'] print(optimized_prompt) else: print("========================= ANALYZE PROMPT =======================\n") analyze_prompt = event['analyzePromptEvent'] print(analyze_prompt) except Exception as e: raise e if __name__ == '__main__': client = boto3.client('bedrock-agent-runtime') try: response = client.optimize_prompt( input=get_input(PROMPT), targetModelId=TARGET_MODEL_ID ) print("Request ID:", response.get("ResponseMetadata").get("RequestId")) print("========================== INPUT PROMPT ======================\n") print(PROMPT) handle_response_stream(response) except Exception as e: raise e