기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
가드레일 테스트
가드레일을 생성한 후에는 작업 초안(DRAFT
) 버전을 사용할 수 있습니다. 작업 초안은 사용 사례에 대해 만족스러운 구성에 도달할 때까지 지속적으로 편집하고 반복할 수 있는 가드레일의 버전입니다. 작업 중인 초안 또는 가드레일의 다른 버전을 테스트하여 구성이 사용 사례에 적합한지 확인할 수 있습니다. 작업 초안에서 구성을 편집하고 다양한 프롬프트를 테스트하여 가드레일이 프롬프트 또는 응답을 얼마나 잘 평가하고 가로채는지 확인합니다.
구성에 만족하면 버전을 생성할 때 작업 초안의 구성 스냅샷 역할을 하는 가드레일의 버전을 생성할 수 있습니다. 버전을 사용하여 가드레일을 수정할 때마다 프로덕션 애플리케이션에 대한 가드레일 배포를 간소화할 수 있습니다. 작업 초안 또는 생성된 새 버전에 대한 모든 변경 사항은 애플리케이션에서 새 버전을 특별히 사용할 때까지 생성형 AI 애플리케이션에 반영되지 않습니다.
- Console
-
가드레일을 테스트하여 가 유해한 콘텐츠를 차단하는지 확인하려면
-
Amazon Bedrock 권한이 있는 역할을 AWS Management Console 사용하여 에 로그인하고 에서 Amazon Bedrock 콘솔을 엽니다https://console.aws.amazon.com/bedrock/
. IAM -
왼쪽 탐색 창에서 가드레일을 선택합니다. 그런 다음 Guardrails 섹션에서 가드레일을 선택합니다.
-
오른쪽에 테스트 창이 나타납니다. 테스트 창에는 다음과 같은 옵션이 있습니다.
-
기본적으로 가드레일의 작업 초안은 테스트 창에서 사용됩니다. 가드레일의 다른 버전을 테스트하려면 테스트 창 상단에서 초안 작업을 선택한 다음 버전을 선택합니다.
-
모델을 선택하려면 모델 선택을 선택합니다. 선택한 후 적용을 선택합니다. 모델을 변경하려면 변경을 선택합니다.
-
프롬프트 상자에 프롬프트를 입력합니다.
-
모델 응답을 유도하려면 실행을 선택합니다.
-
모델은 최종 응답 상자에 응답을 반환합니다(가드레일에 의해 수정될 수 있음). 가드레일이 프롬프트 또는 모델 응답을 차단하거나 필터링하면 가드레일 확인 아래에 가드레일이 탐지한 위반 횟수를 알려주는 메시지가 표시됩니다.
-
프롬프트 또는 응답에서 인식되고 필터 통과 또는 필터에 의해 차단된 주제 또는 유해 범주를 보려면 추적 보기 를 선택합니다.
-
프롬프트 및 모델 응답 탭을 사용하여 가드레일에 의해 필터링되거나 차단된 주제 또는 유해 범주를 볼 수 있습니다.
-
텍스트 플레이그라운드 에서 가드레일을 테스트할 수도 있습니다. 프롬프트를 테스트하기 전에 구성 창에서 플레이그라운드를 선택하고 Guardrail을 선택합니다.
-
- API
-
모델 호출에 가드레일을 사용하려면 InvokeModel 또는 InvokeModelWithResponseStream 요청을 보냅니다. 또는 대화형 애플리케이션을 구축하는 경우 Converse API를 사용할 수 있습니다.
요청 형식
스트리밍 유무에 관계없이 모델을 호출하기 위한 요청 엔드포인트는 다음과 같습니다. Replace
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
필드를 참조하세요.
-
-