안전 설정

개요

이 가이드에서는 텍스트 서비스에 사용할 수 있는 PaLM API의 조정 가능한 안전 설정을 설명합니다. 프로토타입 제작 단계에서 6가지 차원에서 안전 설정을 조정하여 애플리케이션에 더 많이 또는 덜 제한적인 구성이 필요한지 빠르게 평가할 수 있습니다. 기본적으로 안전 설정은 6가지 측정기준 모두에서 안전하지 않은 콘텐츠일 가능성이 중간 또는 높은 콘텐츠를 차단합니다. 이 기본 안전은 대부분의 사용 사례에서 작동하도록 설계되었으므로 애플리케이션에 일관되게 필요한 경우에만 안전 설정을 조정해야 합니다.

안전 필터

PaLM API에는 조정 가능한 안전 필터 외에도 아동 안전을 위협하는 콘텐츠와 같은 심각한 피해를 방지하는 보호 기능이 내장되어 있습니다. 이러한 유형의 피해는 항상 차단되며 조정할 수 없습니다.

조정 가능한 안전 필터는 다음 카테고리를 포함합니다.

  • 혐오
  • 유해
  • 성적인 콘텐츠
  • 폭력적임
  • 의료시설
  • 위험한 카테고리

개발자는 이러한 설정을 통해 사용 사례에 적합한 설정을 결정할 수 있습니다. 예를 들어 비디오 게임 대화를 만드는 경우 게임의 특성상 폭력적이거나 위험한 것으로 평가되는 추가 콘텐츠를 허용해도 된다고 간주할 수 있습니다. 다음은 이러한 안전 설정에서 유연성이 필요할 수 있는 몇 가지 다른 사용 사례입니다.

사용 사례 카테고리
괴롭힘 방지 교육 앱 경멸적, 성적, 악의적
건강검진센터 의료시설
시나리오 작가 폭력적, 성적, 의료, 위험
악의성 분류기 악의적임, 경멸

가능성과 심각도 비교

PaLM API는 심각도가 아닌 콘텐츠가 안전하지 않을 가능성을 기준으로 콘텐츠를 차단합니다. 피해의 심각도가 여전히 높더라도 일부 콘텐츠는 안전하지 않을 가능성이 낮을 수 있으므로 이 점을 고려해야 합니다. 예를 들어 다음과 같은 문장을 비교해 보겠습니다.

  1. 로봇이 나를 때렸습니다.
  2. 로봇이 나를 베었습니다.

문장 1은 안전하지 않을 가능성이 높아질 수 있지만 폭력 면에서는 문장 2의 심각도가 더 높다고 생각할 수 있습니다.

따라서 각 개발자는 최종 사용자에게 미치는 피해를 최소화하면서 주요 사용 사례를 지원하는 데 필요한 적절한 차단 수준을 신중하게 테스트하고 고려해야 합니다.

안전 설정

안전 설정은 문자 서비스에 전송하는 요청의 일부입니다. 이 값은 API에 전송하는 각 요청에 맞게 조정할 수 있습니다. 다음 표에는 설정할 수 있는 카테고리가 나열되어 있으며 각 카테고리에 포함되는 피해 유형을 설명합니다.

카테고리 내용 입력란
혐오 ID 또는 보호 속성을 대상으로 하는 부정적이거나 유해한 댓글
유해 무례하거나 모욕적이거나 욕설이 있는 콘텐츠
성적 성행위 또는 기타 외설적인 콘텐츠에 대한 참조가 포함
폭력적 개인 또는 그룹에 대한 폭력을 묘사하는 시나리오 또는 유혈 콘텐츠에 대한 일반적인 설명을 묘사
위험한 카테고리 유해한 행위를 조장, 조장 또는 조장
의료시설 의학적 주제와 관련된 콘텐츠

API 참조에서도 이러한 정의를 확인할 수 있습니다.

다음 표에서는 각 카테고리에 대해 조정할 수 있는 차단 설정을 설명합니다. 예를 들어 혐오 카테고리의 차단 설정을 극소수 차단으로 설정하면 명예를 훼손할 가능성이 높은 모든 콘텐츠가 차단됩니다. 하지만 확률이 낮은 것은 무엇이든 허용됩니다.

설정하지 않으면 정책 카테고리에 따라 기본 차단 설정은 일부 사용자 차단 또는 대부분 차단입니다.

기준점 (Google AI 스튜디오) 기준액 (API) 설명
차단 안함 BLOCK_NONE 안전하지 않은 콘텐츠의 가능성과 관계없이 항상 표시
소수 차단 BLOCK_ONLY_HIGH 안전하지 않은 콘텐츠일 가능성이 높은 경우 차단
일부 차단 (성적, 폭력적, 위험, 의료 관련 기본값) BLOCK_MEDIUM_AND_ABOVE 안전하지 않은 콘텐츠일 가능성이 중간 또는 높은 경우 차단
대부분 차단 (경멸 및 악의성의 기본값) BLOCK_LOW_AND_ABOVE 안전하지 않은 콘텐츠일 가능성이 낮거나 중간 또는 높은 경우 차단
HARM_BLOCK_THRESHOLD_UNSPECIFIED 기준점이 지정되지 않았습니다. 기본 기준점을 사용하여 차단합니다.

문자 서비스에 전송하는 각 요청에 대해 이러한 설정을 지정할 수 있습니다. 자세한 내용은 HarmBlockThreshold API 참조를 확인하세요.

안전 피드백

콘텐츠가 차단된 경우 API의 응답의 ContentFilter.reason 필드에 콘텐츠가 차단된 이유가 포함됩니다. 이유가 안전과 관련된 경우 응답에는 해당 요청에 사용된 안전 설정과 안전 평가가 포함된 SafetyFeedback 필드도 포함됩니다. 안전성 등급에는 위험 카테고리 및 위험 분류 확률이 포함됩니다. 차단된 콘텐츠는 반환되지 않습니다.

반환된 확률은 다음 표와 같이 블록 신뢰도 수준에 해당합니다.

확률 설명
제외 가능 콘텐츠가 안전하지 않을 가능성이 거의 없음
낮음 콘텐츠가 안전하지 않을 가능성이 낮음
중간 정도의 참여 콘텐츠가 안전하지 않을 가능성이 중간입니다.
높음 콘텐츠가 안전하지 않을 가능성이 높음

예를 들어 악의성 카테고리가 확률이 높아 콘텐츠가 차단된 경우 반환되는 안전성 평점은 TOXICITY와 같고 위험 확률은 HIGH로 설정됩니다.

Google AI 스튜디오의 안전 설정

Google AI 스튜디오에서도 이러한 설정을 지정할 수 있습니다. Run settings(실행 설정)에서 Edit safety settings(안전 설정 수정)를 클릭합니다.

안전 설정 버튼

그리고 노브를 사용하여 각 설정을 조정합니다.

안전 설정 버튼

콘텐츠가 차단되면 콘텐츠 없음 메시지가 표시됩니다. 자세한 내용을 보려면 포인터를 콘텐츠 없음 위에 놓고 안전을 클릭합니다.

코드 예

이 섹션에서는 Python 클라이언트 라이브러리를 사용하여 코드에서 안전 설정을 사용하는 방법을 보여줍니다.

요청 예

다음은 GenerateText 호출에서 안전 설정을 지정하는 방법을 보여주는 Python 코드 스니펫입니다. 이렇게 하면 피해 카테고리 DerogatoryViolenceBLOCK_LOW_AND_ABOVE로 설정되어 폭력적이거나 경멸적인 콘텐츠일 가능성이 낮거나 높은 콘텐츠를 차단합니다.

completion = genai.generate_text(
    model=model,
    prompt=prompt,
    safety_settings=[
        {
            "category": safety_types.HarmCategory.HARM_CATEGORY_DEROGATORY,
            "threshold": safety_types.HarmBlockThreshold.BLOCK_LOW_AND_ABOVE,
        },
        {
            "category": safety_types.HarmCategory.HARM_CATEGORY_VIOLENCE,
            "threshold": safety_types.HarmBlockThreshold.BLOCK_LOW_AND_ABOVE,
        },
    ]
)

응답 예

다음은 응답에서 안전 의견을 파싱하는 코드 스니펫을 보여줍니다. 차단 이유가 안전 측정기준 중 하나가 아닌 경우 안전 의견은 비어 있습니다.

# First check the content filter reason
for filter in completion.filters:
    print(filter["reason"])

# If any of the reason is "safety", then the safety_feedback field will be
# populated
for feedback in completion.safety_feedback:
    print(feedback["rating"])
    print(feedback["setting"])s

다음 단계

  • 전체 API에 대한 자세한 내용은 API 참조를 확인하세요.
  • LLM으로 개발할 때의 안전 고려사항은 안전 안내를 참고하세요.
  • 확률 및 심각도 비교에 대한 자세한 내용은 Jigsaw팀에서 자세히 알아보세요.
  • Perspective API와 같이 안전 솔루션에 기여하는 제품에 관해 자세히 알아보세요.
  • 이러한 안전 설정을 사용하여 유해성 분류기를 만들 수 있습니다. 시작하려면 분류 예를 참고하세요.