기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
개념: 메시지, 콘텐츠 블록 유형 및 검사
다음 개념은 InvokeGuardrailChecks API에 대한 요청의 구조를 설명합니다.
메시지
메시지는 평가를 위해 제출하는 콘텐츠의 기본 단위입니다. 각 메시지에는 콘텐츠를 생성한 사용자를 식별하는 역할과 실제 텍스트를 하나 이상의 입력 콘텐츠 블록으로 포함하는 콘텐츠 배열이라는 두 개의 필드가 있습니다.
{ "role": "user", "content": [{ "text": "Hello world" }] }
이렇게 하면 Amazon Bedrock의 다른 곳에서 사용되는 role-plus-content-blocks 구조가 미러링되므로 모델에 대해 이미 빌드한 대화를 재구성이 거의 또는 전혀 없이 InvokeGuardrailChecks에 전달할 수 있습니다. 요청의 messages 필드는 배열이므로 단일 메시지 또는 다중 턴 교환을 나타내는 시퀀스(예: 시스템 명령 다음에 사용자 턴)를 제출할 수 있습니다. 메시지는 사용자가 제공한 순서대로 평가되며 위치는 중요합니다. 일부 결과는 제로 기반 로 표시된 메시지messageIndex와 해당 메시지 내의 블록을 다시 참조합니다contentIndex(민감한 정보 결과 참조).
역할은 콘텐츠의 오리진에 레이블을 지정합니다. 지원되는 역할은 다음과 같습니다.
-
system- 모델의 동작을 구성하는 지침입니다. -
user- 최종 사용자의 입력입니다. -
assistant- 모델에서 생성된 출력입니다.
콘텐츠 블록 유형
content 필드는 일반 문자열이 아닌 입력 블록의 배열입니다. 유형 블록은 키 이름이 해당 유형인 작은 객체입니다. 이 설계를 통해 메시지 형식은 향후 전체 메시지 모양을 변경하지 않고도 다른 종류의 콘텐츠(예: 이미지 또는 문서)를 전달할 수 있습니다. 현재 지원되는 유일한 블록 유형은 이며text, 값은 베어 문자열입니다.
{ "text": "Hello world" }
메시지에는 최대 10개의 콘텐츠 블록이 포함될 수 있습니다. 콘텐츠 블록에는 최대 하나의 text 블록이 포함될 수 있습니다. text는 현재 유일하게 지원되는 유형이므로 이는 콘텐츠 블록당 텍스트 블록 하나를 의미합니다. 한 역할 내에서 여러 개의 고유한 텍스트 조각을 평가하려면 content 배열에서 별도의 콘텐츠 블록으로 전송합니다. 여러 역할에서 여러 개의 고유한 텍스트를 평가하려면 messages 배열에서 별도의 메시지로 전송합니다.
검사
검사라는 용어는 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 더하기 위치 오프셋)를 반환하며 특정 요구 사항에 따라 애플리케이션이 해당 점수에 따라 작동하는 방식을 결정합니다.