最佳化提示 - 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 Instruct meta.llama3-2-11b-instruct-v1:0
Meta Llama 3.3 70B Instruct 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 遊樂場中撰寫提示,請遵循 使用遊樂場在主控台中產生回應 中的步驟。

  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