最佳化提示 - Amazon Bedrock

最佳化提示

Amazon Bedrock 提供工具可最佳化提示。最佳化會重寫提示,以產生更適合您使用案例的推論結果。您可以選擇要最佳化其提示的模型,然後產生修訂後的提示。

在您提交要最佳化的提示後,Amazon Bedrock 會分析提示的元件。如果分析成功,則會重寫提示。然後,您可以複製和使用最佳化提示的文字。

注意

為了獲得最佳結果,建議您使用英文來最佳化提示。

用於最佳化提示的支援區域和模型

下列區域支援提示最佳化 (如需 Amazon Bedrock 中支援區域的詳細資訊,請參閱 Amazon Bedrock 端點和配額):

  • 美國東部 (維吉尼亞北部)

  • 美國西部 (奧勒岡)

  • 亞太地區 (孟買)

  • 亞太地區 (雪梨)

  • 加拿大 (中部)

  • 歐洲 (法蘭克福)

  • 歐洲 (愛爾蘭)

  • 歐洲 (倫敦)

  • 歐洲 (巴黎)

  • 南美洲 (聖保羅)

下列基礎模型支援提示最佳化 (若要查看哪些區域支援每個模型,請參閱 Amazon Bedrock 中支援的基礎模型):

  • Amazon Nova Lite

  • Amazon Nova Micro

  • Amazon Nova Premier

  • Amazon Nova Pro

  • Anthropic Claude 3 Haiku

  • Anthropic Claude 3 Opus

  • Anthropic Claude 3 Sonnet

  • Anthropic Claude 3.5 Haiku

  • Anthropic Claude 3.5 Sonnet v2

  • Anthropic Claude 3.5 Sonnet

  • Anthropic Claude 3.7 Sonnet

  • Anthropic Claude Opus 4

  • Anthropic Claude Sonnet 4

  • DeepSeek DeepSeek-R1

  • Meta Llama 3 70B Instruct

  • Meta Llama 3.1 70B Instruct

  • Meta Llama 3.2 11B Instruct

  • Meta Llama 3.3 70B Instruct

  • Meta Llama 4 Maverick 17B Instruct

  • Meta Llama 4 Scout 17B Instruct

  • Mistral AI Mistral Large (24.02)

  • Mistral AI Mistral Large (24.07)

提交提示以進行最佳化

若要了解如何最佳化提示,請選擇您偏好方法的索引標籤,然後遵循下列步驟:

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