

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

# 개념: 메시지, 콘텐츠 블록 유형 및 검사
<a name="guardrails-use-invoke-guardrail-checks-concepts"></a>

다음 개념은 `InvokeGuardrailChecks` API에 대한 요청의 구조를 설명합니다.

## 메시지
<a name="guardrails-use-invoke-guardrail-checks-messages"></a>

메시지는 평가를 위해 제출하는 콘텐츠의 기본 단위입니다. 각 메시지에는 콘텐츠를 생성한 사용자를 식별하는 역할과 실제 텍스트를 하나 이상의 입력 콘텐츠 블록으로 포함하는 콘텐츠 배열이라는 두 개의 필드가 있습니다.

```
{
  "role": "user",
  "content": [{ "text": "Hello world" }]
}
```

이렇게 하면 Amazon Bedrock의 다른 곳에서 사용되는 role-plus-content-blocks 구조가 미러링되므로 모델에 대해 이미 빌드한 대화를 재구성이 거의 또는 전혀 없이 `InvokeGuardrailChecks`에 전달할 수 있습니다. 요청의 `messages` 필드는 배열이므로 단일 메시지 또는 다중 턴 교환을 나타내는 시퀀스(예: 시스템 명령 다음에 사용자 턴)를 제출할 수 있습니다. 메시지는 사용자가 제공한 순서대로 평가되며 위치는 중요합니다. 일부 결과는 제로 기반 로 표시된 메시지`messageIndex`와 해당 메시지 내의 블록을 다시 참조합니다`contentIndex`(민감한 정보 결과 참조).

역할은 콘텐츠의 오리진에 레이블을 지정합니다. 지원되는 역할은 다음과 같습니다.
+ `system` - 모델의 동작을 구성하는 지침입니다.
+ `user` - 최종 사용자의 입력입니다.
+ `assistant` - 모델에서 생성된 출력입니다.

## 콘텐츠 블록 유형
<a name="guardrails-use-invoke-guardrail-checks-content"></a>

`content` 필드는 일반 문자열이 아닌 입력 블록의 배열입니다. 유형 블록은 키 이름이 해당 유형인 작은 객체입니다. 이 설계를 통해 메시지 형식은 향후 전체 메시지 모양을 변경하지 않고도 다른 종류의 콘텐츠(예: 이미지 또는 문서)를 전달할 수 있습니다. 현재 지원되는 유일한 블록 유형은 이며`text`, 값은 베어 문자열입니다.

```
{ "text": "Hello world" }
```

메시지에는 최대 10개의 콘텐츠 블록이 포함될 수 있습니다. 콘텐츠 블록에는 최대 하나의 `text` 블록이 포함될 수 있습니다. `text`는 현재 유일하게 지원되는 유형이므로 이는 콘텐츠 블록당 텍스트 블록 하나를 의미합니다. 한 역할 내에서 여러 개의 고유한 텍스트 조각을 평가하려면 `content` 배열에서 별도의 콘텐츠 블록으로 전송합니다. 여러 역할에서 여러 개의 고유한 텍스트를 평가하려면 `messages` 배열에서 별도의 메시지로 전송합니다.

## 검사
<a name="guardrails-use-invoke-guardrail-checks-checks"></a>

*검사*라는 용어는 Amazon Bedrock Guardrails에서 제공하는 *보호* 조치라는 용어와 호환됩니다. `checks` 객체는 검사 유형당 하나의 선택적 필드가 있는 구성 객체이며 실행하려는 검사만 포함합니다. 별도의 활성화/비활성화 플래그를 설정하지 않습니다. 필드가 있는 경우에만 검사가 실행되고 누락된 검사는 결과 및 사용량을 생성하지 않습니다. 하나 이상의 검사 필드를 설정해야 합니다.

```
"checks": {
  "contentFilter":         { ... },
  "promptAttack":          { ... },
  "sensitiveInformation":  { ... }
}
```

구성은 요청당 인라인이므로 저장된 가드레일 리소스를 관리하지 않고도 호출마다 안전 태세를 변경할 수 있습니다. 에이전트 루프의 여러 단계에서 동일하거나 다른 메시지에 대해 서로 다른 검사 조합을 요청할 수 있습니다.

각 검사에는 고유한 구성 셰이프가 있습니다. 필드 이름은 검사를 선택합니다. 그 안의 객체에는 해당 검사가 찾는 항목이 나열됩니다.
+ `contentFilter` - `categories` 목록을 가져옵니다(HATE, INSULTS, SEXUAL, VIOLENCE, MISCONDUCT).
+ `promptAttack` - `categories` 목록을 가져옵니다(JAILBREAK, PROMPT\_INJECTION, PROMPT\_LEAKAGE).
+ `sensitiveInformation` - `entities` 목록을 가져옵니다(지원되는 PII 엔터티 31개).

**요청 및 응답은 대칭입니다.**에서 설정한 키는 `results` 및에서 반환되는 것과 동일한 키`checks`입니다`usage`. `contentFilter` 및를 요청하면 응답에이 두 개`sensitiveInformation`만 표시됩니다. `promptAttack`는 실행되지 않았기 때문에 존재하지 않습니다. 이렇게 하면 결과를 생성한 검사에 결과를 쉽게 다시 매핑할 수 있습니다.

**모든 검사에서 감지 전용 -** 검사 블록, 마스크 또는 다시 쓰기 콘텐츠가 없습니다. 각는 점수(콘텐츠 필터 및 프롬프트 공격`severityScore`의 경우 , 민감한 정보의 경우 `confidenceScore` 더하기 위치 오프셋)를 반환하며 특정 요구 사항에 따라 애플리케이션이 해당 점수에 따라 작동하는 방식을 결정합니다.