安全性設定を使用すると、有害と見なされる可能性のあるレスポンスを受け取る可能性を調整できます。デフォルトでは、安全性の設定により、すべてのディメンションで安全でないコンテンツである確率が中程度または高いコンテンツがブロックされます。
Gemini の緊急情報の設定に移動 Imagen の緊急情報の設定に移動
Gemini モデルの安全性設定
Gemini モデルの安全性設定の詳細については、Google Cloud のドキュメントをご覧ください。
Swift
SafetySettings
は、GenerativeModel
インスタンスを作成するときに構成します。
安全設定が 1 つの例:
// ...
let model = vertex.generativeModel(
modelName: "GEMINI_MODEL_NAME",
safetySettings: [
SafetySetting(harmCategory: .harassment, threshold: .blockOnlyHigh)
]
)
// ...
複数の安全設定の例:
// ...
let harassmentSafety = SafetySetting(harmCategory: .harassment, threshold: .blockOnlyHigh)
let hateSpeechSafety = SafetySetting(harmCategory: .hateSpeech, threshold: .blockMediumAndAbove)
let model = vertex.generativeModel(
modelName: "GEMINI_MODEL_NAME",
safetySettings: [harassmentSafety, hateSpeechSafety]
)
// ...
Kotlin
SafetySettings
は、GenerativeModel
インスタンスを作成するときに構成します。
安全設定が 1 つの例:
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)
)
)
// ...
複数の安全設定の例:
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
SafetySettings
は、GenerativeModel
インスタンスを作成するときに構成します。
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);
// ...
複数の安全設定の例:
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);
// ...
Web
SafetySettings
は、GenerativeModel
インスタンスを作成するときに構成します。
安全設定が 1 つの例:
import { HarmBlockThreshold, HarmCategory, getGenerativeModel } from "firebase/vertexai";
// ...
const safetySettings = [
{
category: HarmCategory.HARM_CATEGORY_HARASSMENT,
threshold: HarmBlockThreshold.BLOCK_ONLY_HIGH,
},
];
const model = getGenerativeModel(vertex, { model: "GEMINI_MODEL_NAME", safetySettings });
// ...
複数の安全設定の例:
import { HarmBlockThreshold, HarmCategory, getGenerativeModel } from "firebase/vertexai";
// ...
const safetySettings = [
{
category: HarmCategory.HARM_CATEGORY_HARASSMENT,
threshold: HarmBlockThreshold.BLOCK_ONLY_HIGH,
},
{
category: HarmCategory.HARM_CATEGORY_HATE_SPEECH,
threshold: HarmBlockThreshold.BLOCK_MEDIUM_AND_ABOVE,
},
];
const model = getGenerativeModel(vertex, { model: "GEMINI_MODEL_NAME", safetySettings });
// ...
Dart
SafetySettings
は、GenerativeModel
インスタンスを作成するときに構成します。
安全設定が 1 つの例:
// ...
final safetySettings = [
SafetySetting(HarmCategory.harassment, HarmBlockThreshold.high)
];
final model = FirebaseVertexAI.instance.generativeModel(
model: 'GEMINI_MODEL_NAME',
safetySettings: safetySettings,
);
// ...
複数の安全設定の例:
// ...
final safetySettings = [
SafetySetting(HarmCategory.harassment, HarmBlockThreshold.high),
SafetySetting(HarmCategory.hateSpeech, HarmBlockThreshold.high),
];
final model = FirebaseVertexAI.instance.generativeModel(
model: 'GEMINI_MODEL_NAME',
safetySettings: safetySettings,
);
// ...
Imagen モデルの安全性設定
Imagen モデルのサポートされている安全性設定と使用可能な値については、Google Cloud のドキュメントをご覧ください。
Swift
ImagenSafetySettings
は、ImagenModel
インスタンスを作成するときに構成します。
// Initialize the Vertex AI service
let vertex = VertexAI.vertexAI()
// Create an `ImagenModel` instance
let model = vertex.imagenModel(
modelName: "IMAGEN_MODEL_NAME",
// Configure image generation safety settings for the model
safetySettings: ImagenSafetySettings(
safetyFilterLevel: .blockLowAndAbove,
personFilterLevel: .allowAdult
)
)
// ...
Kotlin
ImagenSafetySettings
は、ImagenModel
インスタンスを作成するときに構成します。
// Create an `ImagenModel` instance
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
ImagenSafetySettings
は、ImagenModel
インスタンスを作成するときに構成します。
// Create an `ImagenModel` instance
ImagenModel imagenModel =
FirebaseVertexAI.getInstance().imagenModel(
/* modelName */ "IMAGEN_MODEL_NAME",
/* imageGenerationConfig */ null);
ImagenModelFutures model = ImagenModelFutures.from(imagenModel);
// ...
Web
ImagenSafetySettings
は、ImagenModel
インスタンスを作成するときに構成します。
// Create an `ImagenModel` instance
const imagenModel = getImagenModel(
vertexAI,
{
model: "IMAGEN_MODEL_NAME",
// Configure image generation safety settings for the model
safetySettings: {
safetyFilterLevel: ImagenSafetyFilterLevel.BLOCK_LOW_AND_ABOVE,
personFilterLevel: ImagenPersonFilterLevel.ALLOW_ADULT,
}
}
);
// ...
Dart
ImagenSafetySettings
は、ImagenModel
インスタンスを作成するときに構成します。
// Create an `ImagenModel` instance
var model = FirebaseVertexAI.instance.imagenModel(
model: 'IMAGEN_MODEL_NAME',
// Configure image generation safety settings for the model
safetySettings: ImagenSafetySettings(
ImagenSafetyFilterLevel.blockLowAndAbove,
ImagenPersonFilterLevel.allowAdult,
),
);
// ...
コンテンツ生成を制御するためのその他のオプション
- プロンプトの設計について学び、ニーズに固有の出力を生成するようにモデルに影響を与えましょう。
- モデル パラメータを構成して、モデルがどのようにレスポンスを生成するかを制御します。Gemini モデルの場合、これらのパラメータには、最大出力トークン、温度、topK、topP が含まれます。Imagen モデルの場合、アスペクト比、人物の生成、ウォーターマークなどがあります。
- システム指示を設定して、モデルの動作を制御します。この機能は、エンドユーザーからの詳細な手順を示すためにモデルが公開される前に追加する「プリアンブル」のようなものです。
- プロンプトとともにレスポンス スキーマを渡して、特定の出力スキーマを指定します。この機能は、JSON 出力の生成に最もよく使用されますが、分類タスクにも使用できます(モデルで特定のラベルやタグを使用する場合など)。