프롬프트 최적화 - 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 지침 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 지침 meta.llama4-maverick-17b-instruct-v1:0
Meta Llama 4 Scout 17B 지침 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 Management Console에서 플레이그라운드 또는 프롬프트 관리를 사용하여 프롬프트를 최적화할 수 있습니다. 프롬프트를 최적화하려면 먼저 모델을 선택해야 합니다. 프롬프트는 선택한 모델에 최적화되어 있습니다.

플레이그라운드에서 프롬프트를 최적화하려면
  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 Agents 런타임 엔드포인트를 사용하여 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