가드레일 테스트 - Amazon Bedrock

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

가드레일 테스트

가드레일을 생성하고 나면 작업 초안 (DRAFT) 버전을 사용할 수 있습니다. 작업 초안은 사용 사례에 맞는 만족스러운 구성에 도달할 때까지 계속 편집하고 반복할 수 있는 가드레일의 한 버전입니다. 작업 초안이나 다른 버전의 가드레일을 테스트하여 구성이 사용 사례에 적합한지 확인할 수 있습니다. 작업 초안의 구성을 편집하고 다양한 프롬프트를 테스트하여 가드레일이 프롬프트나 응답을 얼마나 잘 평가하고 가로채는지 확인하십시오.

구성이 만족스러우면 버전을 생성할 때 작업 드래프트 구성의 스냅샷 역할을 하는 가드레일 버전을 생성할 수 있습니다. 버전을 사용하면 가드레일을 수정할 때마다 프로덕션 애플리케이션으로의 가드레일 배포를 간소화할 수 있습니다. 작업 초안 또는 생성된 새 버전에 대한 변경 사항은 애플리케이션에서 새 버전을 특별히 사용하기 전까지는 제너레이티브 AI 애플리케이션에 반영되지 않습니다.

Console
가드레일을 테스트하여 유해 콘텐츠를 차단하는지 확인하기 위해
  1. 에 로그인하세요. AWS Management Console Amazon Bedrock 권한이 있는 IAM 역할을 사용하여 에서 Amazon Bedrock 콘솔을 엽니다. https://console.aws.amazon.com/bedrock/

  2. 왼쪽 탐색 창에서 가드레일을 선택합니다. 그런 다음 가드레일 섹션에서 가드레일을 선택합니다.

  3. 오른쪽에 테스트 창이 나타납니다. 테스트 창에는 다음과 같은 옵션이 있습니다.

    1. 기본적으로 테스트 창에는 가드레일의 작업 드래프트가 사용됩니다. 다른 버전의 가드레일을 테스트하려면 테스트 창 상단에서 Working Draft를 선택한 다음 버전을 선택합니다.

    2. 모델을 선택하려면 모델 선택을 선택합니다. 선택한 후 적용을 선택합니다. 모델을 변경하려면 [변경] 을 선택합니다.

    3. 프롬프트 상자에 프롬프트를 입력합니다.

    4. 모델 응답을 이끌어내려면 실행을 선택합니다.

    5. 모델은 최종 응답 상자에 응답을 반환합니다 (가드레일에서 수정할 수 있음). 가드레일이 프롬프트 또는 모델 응답을 차단하거나 필터링하는 경우 가드레일에서 감지한 위반 횟수를 알려주는 메시지가 가드레일 점검 아래에 나타납니다.

    6. 프롬프트 또는 응답에서 필터 통과로 인식 및 허용되거나 필터로 차단된 주제 또는 유해 카테고리를 보려면 추적 보기를 선택합니다.

    7. 프롬프트모델 응답 탭을 사용하여 가드레일에 의해 필터링되거나 차단된 주제 또는 유해 카테고리를 볼 수 있습니다.

텍스트 플레이그라운드에서도 가드레일을 테스트할 수 있습니다. 플레이그라운드를 선택하고 프롬프트를 테스트하기 전에 구성 창에서 가드레일을 선택합니다.

API

모델 호출에 가드레일을 사용하려면 or 요청을 보내십시오. InvokeModelInvokeModelWithResponseStream 또는 대화형 애플리케이션을 구축하는 경우 Converse를 사용할 수도 있습니다. API

요청 형식

스트리밍 유무에 관계없이 모델을 호출하기 위한 요청 엔드포인트는 다음과 같습니다. Replace modelId 사용할 모델의 ID와 함께.

  • InvokeModel— POST /모델/modelId/인보크 /1.1 HTTP

  • InvokeModelWithResponseStream— POST /모델/modelId//1.1 invoke-with-response-stream HTTP

두 API 작업의 헤더 형식은 다음과 같습니다.

Accept: accept Content-Type: contentType X-Amzn-Bedrock-Trace: trace X-Amzn-Bedrock-GuardrailIdentifier: guardrailIdentifier X-Amzn-Bedrock-GuardrailVersion: guardrailVersion

매개변수는 아래에 설명되어 있습니다.

  • 응답의 추론 본문 MIME 유형으로 설정합니다Accept. 기본값은 application/json입니다.

  • 요청의 입력 데이터 MIME 유형으로 설정합니다Content-Type. 기본값은 application/json입니다.

  • 무엇보다도 X-Amzn-Bedrock-Trace ENABLED 가드레일에 의해 차단된 콘텐츠와 그 이유를 추적하여 확인할 수 있도록 설정합니다.

  • 요청 X-Amzn-Bedrock-GuardrailIdentifier 및 모델 응답에 적용하려는 가드레일의 가드레일 식별자를 사용하여 설정합니다.

  • 요청 X-Amzn-Bedrock-GuardrailVersion 및 모델 응답에 적용할 가드레일의 버전을 설정합니다.

일반 요청 본문 형식은 다음 예제에 나와 있습니다. tagSuffix속성은 입력 태깅에만 사용됩니다. 를 사용하여 가드레일 스트리밍을 동기식 또는 비동기식으로 구성할 수도 있습니다. streamProcessingMode InvokeModelWithResponseStream이 기능은 에서만 작동합니다.

{ <see model details>, "amazon-bedrock-guardrailConfig": { "tagSuffix": "string", "streamProcessingMode": "SYNCHRONOUS" | "ASYNCHRONOUS" } }
주의

다음과 같은 상황에서는 오류가 발생합니다.

  • 가드레일을 활성화했지만 요청 본문에 amazon-bedrock-guardrailConfig 필드가 없습니다.

  • 가드레일을 비활성화하지만 요청 본문에 amazon-bedrock-guardrailConfig 필드를 지정합니다.

  • 가드레일을 활성화하지만 활성화하지 않습니다. contentType application/json

다양한 모델의 요청 본문을 보려면 을 참조하십시오. 파운데이션 모델의 추론 파라미터

참고

... 에 대해 Cohere Command 모델의 경우 가드레일을 사용하는 경우 num_generations 필드에 한 세대만 지정할 수 있습니다.

가드레일과 그 트레이스를 활성화한 경우 스트리밍을 포함하거나 포함하지 않는 모델 호출에 대한 응답의 일반적인 형식은 다음과 같습니다. 각 모델의 나머지 body 형식을 보려면 을 참조하십시오. 파운데이션 모델의 추론 파라미터 The contentType 요청에서 지정한 것과 일치합니다.

  • InvokeModel

    HTTP/1.1 200 Content-Type: contentType { <see model details for model-specific fields>, "completion": "<model response>", "amazon-bedrock-guardrailAction": "INTERVENED | NONE", "amazon-bedrock-trace": { "guardrail": { "modelOutput": [ "<see model details for model-specific fields>" ], "input": { "<sample-guardrailId>": { "topicPolicy": { "topics": [ { "name": "string", "type": "string", "action": "string" } ] }, "contentPolicy": { "filters": [ { "type": "string", "confidence": "string", "action": "string" } ] }, "wordPolicy": { "customWords": [ { "match": "string", "action": "string" } ], "managedWordLists": [ { "match": "string", "type": "string", "action": "string" } ] }, "sensitiveInformationPolicy": { "piiEntities": [ { "type": "string", "match": "string", "action": "string" } ], "regexes": [ { "name": "string", "regex": "string", "match": "string", "action": "string" } ] } } }, "outputs": ["<same guardrail trace format as input>"] } } }
  • InvokeModelWithResponseStream— 각 응답은 발생한 모든 예외와 함께 bytes 필드에 있는 chunk 사람의 텍스트를 반환합니다. 가드레일 트레이스는 마지막 청크에 대해서만 반환됩니다.

    HTTP/1.1 200 X-Amzn-Bedrock-Content-Type: contentType Content-type: application/json { "chunk": { "bytes": "<blob>" }, "internalServerException": {}, "modelStreamErrorException": {}, "throttlingException": {}, "validationException": {}, "amazon-bedrock-guardrailAction": "INTERVENED | NONE", "amazon-bedrock-trace": { "guardrail": { "modelOutput": ["<see model details for model-specific fields>"], "input": { "<sample-guardrailId>": { "topicPolicy": { "topics": [ { "name": "string", "type": "string", "action": "string" } ] }, "contentPolicy": { "filters": [ { "type": "string", "confidence": "string", "action": "string" } ] }, "wordPolicy": { "customWords": [ { "match": "string", "action": "string" } ], "managedWordLists": [ { "match": "string", "type": "string", "action": "string" } ] }, "sensitiveInformationPolicy": { "piiEntities": [ { "type": "string", "match": "string", "action": "string" } ], "regexes": [ { "name": "string", "regex": "string", "match": "string", "action": "string" } ] } } }, "outputs": ["<same guardrail trace format as input>"] } } }

가드레일을 활성화한 경우 응답은 다음 필드를 반환합니다.

  • amazon-bedrock-guardrailAction— 가드레일의 INTERVENED 사용 여부를 지정합니다 (). NONE

  • amazon-bedrock-trace— 추적을 활성화한 경우에만 나타납니다. 트레이스 목록이 포함되며, 각 트레이스에는 가드레일이 차단한 콘텐츠에 대한 정보가 들어 있습니다. 추적에는 다음 필드가 포함됩니다.

    • modelOutput— 차단된 모델의 출력이 포함된 객체입니다.

    • input— 가드레일의 프롬프트 평가에 대한 다음 세부 정보를 포함합니다.

      • topicPolicy— 위반된 각 주제 정책에 대한 평가 목록을 포함합니다topics. 각 주제에는 다음 필드가 포함됩니다.

        • name— 주제 정책의 이름.

        • type— 주제를 거부할지 여부를 지정합니다.

        • action— 주제가 차단되었음을 지정합니다.

      • contentPolicy— 위반된 각 콘텐츠 필터에 대한 평가 목록을 포함합니다filters. 각 필터에는 다음 필드가 포함됩니다.

        • type— 콘텐츠 필터의 범주.

        • confidence— 출력물을 유해 카테고리에 속하는 것으로 분류할 수 있는 신뢰도 수준.

        • action— 콘텐츠가 차단되었음을 지정합니다. 이 결과는 가드레일에 설정된 필터의 강도에 따라 달라집니다.

      • wordPolicy— 필터링된 사용자 지정 단어 및 관리 대상 단어 모음과 해당 단어에 대한 해당 평가가 포함되어 있습니다. 각 목록에는 다음 필드가 있습니다.

        • customWords— 필터와 일치하는 사용자 지정 단어 목록.

          • match— 필터와 일치하는 단어 또는 구문.

          • action— 단어가 차단되었음을 지정합니다.

        • managedWordLists— 필터와 일치하는 관리 단어 목록.

          • match— 필터와 일치하는 단어 또는 구문.

          • type— 필터와 일치하는 관리 단어의 유형을 지정합니다. 비속어 필터와 일치하는 경우를 예로 들 수 있습니다. PROFANITY

          • action— 단어가 차단되었음을 지정합니다.

      • sensitiveInformationPolicy— 위반된 개인 식별 정보 (PII) 및 정규식 필터에 대한 평가가 포함된 다음 개체가 들어 있습니다.

        • piiEntities— 위반된 각 필터에 대한 평가 목록. PII 각 필터에는 다음과 같은 필드가 있습니다.

          • type— 발견된 PII 유형입니다.

          • match— 필터와 일치하는 단어 또는 구문.

          • action— 단어가 식별자 (ANONYMIZED) 로 대체되었는지 BLOCKED 또는 대체되었는지 여부를 지정합니다.

        • regexes— 위반된 각 정규식 필터에 대한 평가 목록. 각 필터에는 다음과 같은 필드가 있습니다.

          • name— 정규식 필터의 이름.

          • regex— 발견된 PII 유형입니다.

          • match— 필터와 일치하는 단어 또는 구문.

          • action— 단어가 식별자 (ANONYMIZED) 로 대체되었는지 BLOCKED 또는 대체되었는지 여부를 지정합니다.

    • outputs— 모델 응답에 대한 가드레일의 평가에 대한 세부 정보 목록. 목록의 각 항목은 객체의 형식과 일치하는 객체입니다. input 자세한 내용은 input 필드를 참조하십시오.