このページでは、Vertex AI の Imagen で責任ある AI(RAI)フィルタを設定する方法について説明します。
Vertex AI の Imagen モデルでは、いくつかの RAI フィルタリング パラメータを使用できます。たとえば、ブロックされたコンテンツの RAI フィルタコードをモデルに報告させることができます。RAI フィルタを使用して人物や顔の生成を無効にしたり、コンテンツ フィルタのレベルを設定できます。また、入出力の安全性属性リストの RAI スコアを四捨五入して取得することもできます。
可能な設定は、使用する Imagen モデルのバージョンによって異なります。詳細については、Imagen モデルと API リファレンスをご覧ください。
RAI の詳細については、Imagen の責任ある AI と使用上のガイドラインをご覧ください。
RAI パラメータを設定する
手順は次のとおりです。
コンソール
Google Cloud コンソールで、[Vertex AI] > [Media Studio] ページに移動します。
[Imagen] をクリックします。Imagen Media Studio の画像生成ページが表示されます。
[設定] パネルで、次のオプションを調整します。
モデル: 使用可能なオプションからモデルを選択します。
使用可能なモデルの詳細については、Imagen モデルをご覧ください。
検索結果の表示件数: スライダーを調整するか、1~4 の値を入力します。
[安全性] セクションで、次のように構成を行います。
次のいずれかの人物生成の設定を選択します。
- Allow (Adults only): 成人の人物または顔のみを生成します。若者や子供の人物や顔を生成しません。
- Allow (All ages): 年齢に関係なく人物や顔を生成します。
- Don't allow: 人物や顔を生成しません。
次のいずれかの安全性フィルタのしきい値を選択します。
- ほとんどをブロック: 有害なコンテンツのほとんどをブロックします。
- 一部をブロック: 一部の問題のあるプロンプトとレスポンスをブロックします。
- 少量をブロック: ごく少数の問題のあるプロンプトとレスポンスをブロックします。
[プロンプトを記述] ボックスに、生成する画像の説明を入力します。例: 朝の水上の小さなボートの水彩画
[生成] をクリックします。
REST
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_ID: 実際の Google Cloud プロジェクト ID。
- LOCATION: プロジェクトのリージョン。たとえば、
us-central1、europe-west2、asia-northeast3です。使用可能なリージョンの一覧については、Vertex AI の生成 AI のロケーションをご覧ください。 - TEXT_PROMPT: 生成する画像をモデルに指示するテキスト プロンプト。生成と編集のどちらでも必須フィールドです。
- IMAGE_COUNT: 生成される画像の数。指定できる整数値: 1~8(
imagegeneration@002)、1~4(他のすべてのモデル バージョン)。デフォルト値: 4。 - SAFETY_SETTING: 文字列。省略可。生成される画像の安全フィルタのしきい値を制御する設定。使用可能な値:
block_low_and_above: 最も高い安全性のしきい値。これにより、フィルタされる生成画像が最も多くなります。以前の値:block_most。block_medium_and_above(デフォルト): 有害となる可能性のあるコンテンツと安全なコンテンツのフィルタをバランスよく行う中程度の安全性のしきい値です。以前の値:block_some。block_only_high: 安全フィルタによってブロックされるリクエストの数を減らす安全性のしきい値。この設定により、Imagen によって生成される不適切なコンテンツが増加する可能性があります。以前の値:block_few。
- PERSON_SETTING: 文字列。省略可。モデルで許可される人物や顔の生成の種類を制御する安全性設定。使用可能な値:
allow_adult(デフォルト): 有名人の生成を除き、成人のみの生成を許可します。どの設定でも、有名人の生成は許可されません。dont_allow: 生成された画像に人物や顔が含まれないようにします。
-
INCLUDE_RAI_REASON: ブール値。省略可。入力または出力がブロックされているレスポンスで、責任ある AI のフィルタが適用された理由コードを有効にするかどうか。デフォルト値:
true。 - INCLUDE_SAFETY_ATTRIBUTES: ブール値。省略可。フィルタリングされていない入力と出力のレスポンスで、安全性属性のリストに対して丸められた責任ある AI スコアを有効にするかどうかを指定します。安全性属性のカテゴリ:
"Death, Harm & Tragedy"、"Firearms & Weapons"、"Hate"、"Health"、"Illicit Drugs"、"Politics"、"Porn"、"Religion & Belief"、"Toxic"、"Violence"、"Vulgarity"、"War & Conflict"。デフォルト値:false。
HTTP メソッドと URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/imagegeneration@006:predict
リクエストの本文(JSON):
{
"instances": [
{
"prompt": "TEXT_PROMPT"
}
],
"parameters": {
"sampleCount": IMAGE_COUNT,
"safetySetting": "SAFETY_SETTING",
"personGeneration": "PERSON_SETTING",
"includeRaiReason": INCLUDE_RAI_REASON,
"includeSafetyAttributes": INCLUDE_SAFETY_ATTRIBUTES
}
}
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/imagegeneration@006:predict"
PowerShell
リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/imagegeneration@006:predict" | Select-Object -Expand Content