了解和使用安全设置


您可以使用安全设置来调整收到可能被视为有害的回答的可能性。默认情况下,安全设置会屏蔽在所有维度中不安全概率为中等和/或较高的内容。

跳转到Gemini安全设置 跳转到Imagen安全设置

适用于 Gemini 模型的安全设置

如需详细了解安全设置,请参阅 Google Cloud 文档。

您可以在模型初始化期间配置 SafetySettings。下面是一些基本示例。

以下是设置安全设置的方法:

Kotlin

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

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

// ...

Java

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

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

GenerativeModelFutures model = GenerativeModelFutures.from(gm);

// ...

您还可以设置多项安全设置:

Kotlin

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

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

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

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

// ...

Java

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

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

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

GenerativeModelFutures model = GenerativeModelFutures.from(gm);

// ...

适用于 Imagen 模型的安全设置

了解 Imagen 型号的所有受支持的安全设置及其可用值

Kotlin

val imagenModel = Firebase.vertexAI.imagenModel(
  modelName = "IMAGEN_MODEL_NAME",
  // Configure image generation safety settings for the model
  safetySettings = ImagenSafetySettings(
    safetyFilterLevel = ImagenSafetyFilterLevel.BLOCK_LOW_AND_ABOVE,
    personFilterLevel = ImagenPersonFilterLevel.BLOCK_ALL
  )
)

// ...

Java

ImagenModel imagenModel =
    FirebaseVertexAI.getInstance().imagenModel(
            /* modelName */ "IMAGEN_MODEL_NAME",
            /* imageGenerationConfig */ null);
ImagenModelFutures model = ImagenModelFutures.from(imagenModel);

// ...

用于控制内容生成的其他选项

  • 详细了解问题设计,以便影响模型生成符合您需求的输出。
  • 配置模型参数,以控制模型如何生成回答。对于 Gemini 模型,这些参数包括输出 token 数上限、温度、topK 和 topP。 对于 Imagen 模型,这些包括宽高比、生成人物、添加水印等。
  • 设置系统指令来引导模型的行为。此功能类似于您在模型接触到来自最终用户的任何进一步指令之前添加的“序言”。
  • 响应架构与提示一起传递,以指定特定的输出架构。此功能最常用于生成 JSON 输出,但也可以用于分类任务(例如,当您希望模型使用特定标签或标记时)。