기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
가드레일 테스트
가드레일을 만든 후에는 규격 초안(DRAFT
) 버전을 사용할 수 있습니다. 규격 초안은 사용 사례에 대해 만족스러운 구성에 도달할 때까지 지속적으로 편집하고 반복할 수 있는 가드레일의 버전입니다. 가드레일의 작업 초안 또는 기타 버전을 테스트하고 벤치마킹하여 구성이 사용 사례 요구 사항을 충족하는지 확인할 수 있습니다. 규격 초안에서 구성을 편집하고 다양한 프롬프트를 테스트하여 가드레일이 프롬프트 또는 응답을 얼마나 잘 평가하고 가로채는지 확인합니다.
원하는 대로 구성을 마친 후 가드레일의 버전을 만들 수 있습니다. 이 버전은 버전을 만들 때 규격 초안의 구성에 대한 스냅샷 역할을 합니다. 가드레일을 수정할 때마다 버전을 사용하여 프로덕션 애플리케이션에 대한 가드레일 배포를 간소화할 수 있습니다. 규격 초안이나 새로 만들어진 버전에 대한 모든 변경 사항은 사용자가 애플리케이션에서 새 버전을 특별히 사용하지 않는 한 생성형 AI 애플리케이션에 반영되지 않습니다.
- Console
-
가드레일을 테스트하여 유해한 콘텐츠가 차단되는지 확인하는 방법
-
Amazon Bedrock 권한이 있는 IAM 역할을 AWS Management Console 사용하여에 로그인하고 https://console.aws.amazon.com/bedrock/
Amazon Bedrock 콘솔을 엽니다. -
왼쪽 탐색 창에서 가드레일을 선택합니다. 그런 다음 가드레일 섹션에서 가드레일을 선택합니다.
-
오른쪽에 테스트 창이 나타납니다. 테스트 창에는 다음과 같은 옵션이 있습니다.
-
기본적으로 가드레일의 규격 초안은 테스트 창에서 사용됩니다. 가드레일의 다른 버전을 테스트하려면 테스트 창 상단에서 규격 초안을 선택한 다음 버전을 선택합니다.
-
모델 선택을 선택하여 모델을 선택합니다. 선택한 후 적용을 선택합니다. 모델을 변경하려면 변경을 선택합니다.
-
프롬프트 상자에 프롬프트를 입력합니다.
-
모델 응답을 유도하려면 실행을 선택합니다.
-
모델은 최종 응답 상자에 응답을 반환합니다(응답은 가드레일에 의해 수정될 수 있음). 가드레일이 프롬프트 또는 모델 응답을 차단하거나 필터링하면 가드레일 점검 아래에 가드레일이 감지한 위반 횟수를 알려주는 메시지가 표시됩니다.
-
프롬프트 또는 응답에서 필터를 통과하여 인식 및 허용되었거나 필터로 인해 차단된 주제 또는 유해 카테고리를 확인하려면 추적 보기를 선택합니다.
-
프롬프트 및 모델 응답 탭을 사용하여 가드레일에 의해 필터링되었거나 차단된 주제 또는 유해 카테고리를 확인할 수 있습니다.
-
텍스트 플레이그라운드에서도 가드레일을 테스트할 수 있습니다. 프롬프트를 테스트하기 전에 구성 창에서 플레이그라운드를 선택하고 가드레일을 선택합니다.
-
- API
-
모델 간접 호출에 가드레일을 사용하려면 InvokeModel 또는 InvokeModelWithResponseStream 요청을 보냅니다. 또는 대화형 애플리케이션을 구축하는 경우 Converse API를 사용할 수 있습니다.
요청 형식
스트리밍 유무에 관계없이 모델을 간접적으로 호출하기 위한 요청 엔드포인트는 다음과 같습니다.
modelId
를 사용할 모델의 ID로 바꿉니다.-
InvokeModel
– POST /model/modelId
/invoke HTTP/1.1 -
InvokeModelWithResponseStream
– POST /model/modelId
/invoke-with-response-stream HTTP/1.1
두 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
의 형식을 보려면 파운데이션 모델의 추론 요청 파라미터 및 응답 필드 섹션을 참조하세요.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", "filterStrength": "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" } ] }, "invocationMetrics": { "guardrailProcessingLatency": "integer", "usage": { "topicPolicyUnits": "integer", "contentPolicyUnits": "integer", "wordPolicyUnits": "integer", "sensitiveInformationPolicyUnits": "integer", "sensitiveInformationPolicyFreeUnits": "integer", "contextualGroundingPolicyUnits": "integer" }, "guardrailCoverage": { "textCharacters": { "guarded": "integer", "total": "integer" } } } } }, "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", "filterStrength": "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" } ] }, "invocationMetrics": { "guardrailProcessingLatency": "integer", "usage": { "topicPolicyUnits": "integer", "contentPolicyUnits": "integer", "wordPolicyUnits": "integer", "sensitiveInformationPolicyUnits": "integer", "sensitiveInformationPolicyFreeUnits": "integer", "contextualGroundingPolicyUnits": "integer" }, "guardrailCoverage": { "textCharacters": { "guarded": "integer", "total": "integer" } } } } }, "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
- 단어가BLOCKED
상태인지 또는 식별자로 대체되었는지(ANONYMIZED
) 여부를 지정합니다.
-
-
regexes
- 위반된 각 정규식 필터에 대한 평가 목록입니다. 각 필터에는 다음 필드가 포함됩니다.-
name
- 정규식 필터의 이름입니다. -
regex
– 발견된 PII 유형입니다. -
match
- 필터와 일치하는 단어 또는 문구입니다. -
action
- 단어가BLOCKED
상태인지 또는 식별자로 대체되었는지(ANONYMIZED
) 여부를 지정합니다.
-
-
-
-
outputs
- 가드레일의 모델 응답 평가에 대한 세부 정보 목록입니다. 목록의 각 항목은input
객체의 형식과 일치하는 객체입니다. 자세한 내용은input
필드를 참조하세요.
-
-