안전 설정 이해 및 사용하기


안전 설정을 사용하면 유해하다고 간주될 수 있는 대답을 받을 가능성을 조정할 수 있습니다. 기본적으로 안전 설정은 모든 측정기준에서 안전하지 않을 가능성이 중간 또는 높은 콘텐츠를 차단합니다.

Google Cloud 문서에서 안전 설정에 관해 자세히 알아보세요.

모델 초기화 중에 SafetySettings를 구성합니다. 다음은 몇 가지 기본 예입니다.

안전 설정을 하나 설정하는 방법은 다음과 같습니다.

Kotlin+KTX

import com.google.firebase.vertexai.type.BlockThreshold
import com.google.firebase.vertexai.type.HarmCategory
import com.google.firebase.vertexai.type.SafetySetting

val generativeModel = Firebase.vertexAI.generativeModel(
    modelName = "MODEL_NAME",
    safetySettings = listOf(
        SafetySetting(HarmCategory.HARASSMENT, BlockThreshold.ONLY_HIGH)
    )
)

// ...

Java

SafetySetting harassmentSafety = new SafetySetting(HarmCategory.HARASSMENT,
    BlockThreshold.ONLY_HIGH);

GenerativeModel gm = FirebaseVertexAI.getInstance().generativeModel(
    "MODEL_NAME",
    /* generationConfig is optional */ null,
    Collections.singletonList(harassmentSafety)
);

GenerativeModelFutures model = GenerativeModelFutures.from(gm);

// ...

두 개 이상의 안전 설정을 설정할 수도 있습니다.

Kotlin+KTX

import com.google.firebase.vertexai.type.BlockThreshold
import com.google.firebase.vertexai.type.HarmCategory
import com.google.firebase.vertexai.type.SafetySetting

val harassmentSafety = SafetySetting(HarmCategory.HARASSMENT, BlockThreshold.ONLY_HIGH)

val hateSpeechSafety = SafetySetting(HarmCategory.HATE_SPEECH, BlockThreshold.MEDIUM_AND_ABOVE)

val generativeModel = Firebase.vertexAI.generativeModel(
    modelName = "MODEL_NAME",
    safetySettings = listOf(harassmentSafety, hateSpeechSafety)
)

// ...

Java

SafetySetting harassmentSafety = new SafetySetting(HarmCategory.HARASSMENT,
    BlockThreshold.ONLY_HIGH);

SafetySetting hateSpeechSafety = new SafetySetting(HarmCategory.HATE_SPEECH,
    BlockThreshold.MEDIUM_AND_ABOVE);

GenerativeModel gm = FirebaseVertexAI.getInstance().generativeModel(
    "MODEL_NAME",
    /* generationConfig is optional */ null,
    List.of(harassmentSafety, hateSpeechSafety)
);

GenerativeModelFutures model = GenerativeModelFutures.from(gm);

// ...

콘텐츠 생성을 제어하는 기타 옵션

  • 모델에 영향을 주어 필요에 맞는 출력을 생성할 수 있도록 프롬프트 설계에 대해 자세히 알아보세요.
  • 모델의 응답 생성 방식을 제어하도록 모델 매개변수를 구성합니다. 이러한 매개변수에는 최대 출력 토큰, 온도, topK, topP가 있습니다.
  • 시스템 안내를 설정하여 모델의 동작을 조정합니다. 이 기능은 모델이 최종 사용자의 추가 안내에 노출되기 전에 추가하는 '프리앰블'과 같습니다.
  • 프롬프트와 함께 응답 스키마를 전달하여 특정 출력 스키마를 지정합니다. 이 기능은 가장 일반적으로 JSON 출력을 생성할 때 사용되지만 분류 작업(예: 모델이 특정 라벨이나 태그를 사용하도록 하려는 경우)에도 사용할 수 있습니다.