安全性設定

Gemini API が提供する安全性設定は、開発中に調整できる アプリケーションに必要な負荷の増減を判断するためのプロトタイピング ステージ 制約が緩やかな安全設定もサポートしています。これらの設定は フィルタ カテゴリを使用して、特定の種類のコンテンツを制限または許可できます。

このガイドでは、Gemini API が安全性設定とフィルタを処理する仕組みと、 アプリケーションの安全性設定を変更する方法を説明しています。

安全フィルタ

Gemini API の調整可能な安全フィルタは、次のカテゴリに対応しています。

カテゴリ 説明
嫌がらせ ID をターゲットにしている、または保護された状態にある否定的なコメントや有害なコメント 属性です。
ヘイトスピーチ 粗暴、無礼、または冒とく的なコンテンツ。
露骨な性表現 性行為やわいせつな内容に関する情報が含まれるコンテンツ。
危険 有害な行為を助長、促進、または助長している。
<ph type="x-smartling-placeholder">

これらのフィルタを使用して、ユースケースに適した内容を調整できます。対象 たとえば、ビデオゲームの台詞を構築する場合、 ゲームの性質上危険と評価されたコンテンツをさらに許可する

Gemini API には、調整可能な安全フィルタの他にも、組み込みの 児童の安全を危険にさらすコンテンツなど、核心的な危害に対する保護対策。 この種の有害性は常にブロックされ、調整することはできません。

コンテンツ セーフティ フィルタリング レベル

Gemini API は、コンテンツが安全でない確率レベルを HIGHMEDIUMLOW、または NEGLIGIBLE

Gemini API は、コンテンツが安全でない確率に基づいてコンテンツをブロックする 重要度ではありませんコンテンツによっては 害の重大度が低いとしても、安全でない確率は低い 高い水準に保たれていますたとえば、次の文を比較します。

  1. ロボットが私をパンチした。
  2. ロボットが私を切り付けた。

最初の文は、安全でない確率が高くなる可能性がありますが、 暴力に関しては、2 番目の文の方が重大度が高いとみなすことができます。 そのため、広告を慎重にテストし、 鍵のユースケースをサポートするには適切なレベルのブロックが必要ですが、 エンドユーザーへの悪影響を最小限に抑えます。

リクエストごとの安全フィルタリング

API に対するリクエストごとに安全性設定を調整できます。日時 リクエストを行うと、コンテンツが分析され、安全性評価が割り当てられます。「 安全性評価には、危害のカテゴリと確率が含まれます あります。(ハラスメントが原因でコンテンツがブロックされた場合など)。 確率が高い場合、返される安全性評価は次のようになります。 カテゴリが HARASSMENT に等しく、被害の可能性が HIGH に設定されています。

デフォルトでは、安全性設定により、中または どのフィルタでも安全でない確率は高くなります。このベースライン安全性は ほとんどのユースケースで動作するように設計されているため、 アプリケーションで一貫して必要な場合は、この設定をしてください。

次の表に、それぞれで調整できるブロック設定を示します。 あります。たとえば、カスタム ディメンションのブロック設定を [少量をブロック] に設定した場合、 ヘイトスピーチ カテゴリ: ヘイトである可能性が高いすべてのもの 音声コンテンツがブロックされます。ただし、確率の低いものは許可されます。

しきい値(Google AI Studio) しきい値(API) 説明
ブロックなし BLOCK_NONE 安全でないコンテンツの確率に関係なく、常に表示されます
少量をブロック BLOCK_ONLY_HIGH 安全でないコンテンツの可能性が高いときにブロックする
一部をブロック BLOCK_MEDIUM_AND_ABOVE 安全でないコンテンツの確率が中程度または高い場合にブロック
ほとんどをブロック BLOCK_LOW_AND_ABOVE 安全でないコンテンツの確率が低、中、高の場合はブロック
なし HARM_BLOCK_THRESHOLD_UNSPECIFIED しきい値が指定されていません。デフォルトのしきい値を使用してブロックします

設定しない場合、すべてのカテゴリでデフォルトのブロック設定は [一部をブロック] です。

これらの設定は、生成サービスに対するリクエストごとに設定できます。 HarmBlockThreshold API を確認する をご覧ください。

安全性に関するフィードバック

generateContentGenerateContentResponse 安全性に関するフィードバックも含まれます。

プロンプトのフィードバックは promptFeedback。条件 promptFeedback.blockReason が設定されている場合、プロンプトのコンテンツはブロックされています。

回答候補のフィードバックが含まれる Candidate.finishReasonCandidate.safetyRatings。レスポンスの場合 コンテンツがブロックされ、finishReasonSAFETY だった場合は、 safetyRatings をご覧ください。ブロックされたコンテンツは返されません。

安全性設定を調整する

このセクションでは、Google AI Studio の安全性設定を調整する方法について説明します。 必要があります。

Google AI Studio

安全性設定は Google AI Studio で調整できますが、オンにすることはできません オフにします。

[実行の設定] パネルの[安全性設定を編集] をクリックして、実行を開きます 安全性設定モーダル。モーダルでは、スライダーを使用して 安全性カテゴリごとのコンテンツ フィルタリング レベル:

リクエストを送信すると(モデルに質問するなど)、 リクエストのコンテンツがブロックされている場合、[No Content] というメッセージが表示されます。詳細を見る カーソルを合わせると [コンテンツなし] テキストを入力して、[] をクリックします。 安全性

Gemini API SDK

次のコード スニペットは、 GenerateContent の呼び出し。ハラスメント(HARM_CATEGORY_HARASSMENT)が設定されます ヘイトスピーチ(HARM_CATEGORY_HATE_SPEECH)のカテゴリを BLOCK_LOW_AND_ABOVE は、値が「0」以上のコンテンツをすべてブロックします。 ハラスメントやヘイトスピーチになる可能性

Python

from google.generativeai.types import HarmCategory, HarmBlockThreshold

model = genai.GenerativeModel(model_name='gemini-1.5-flash')
response = model.generate_content(
    ['Do these look store-bought or homemade?', img],
    safety_settings={
        HarmCategory.HARM_CATEGORY_HATE_SPEECH: HarmBlockThreshold.BLOCK_LOW_AND_ABOVE,
        HarmCategory.HARM_CATEGORY_HARASSMENT: HarmBlockThreshold.BLOCK_LOW_AND_ABOVE,
    }
)

Go

model := client.GenerativeModel("gemini-1.5-flash")

model.SafetySettings = []*genai.SafetySetting{
  {
    Category:  genai.HarmCategoryHarassment,
    Threshold: genai.HarmBlockLowAndAbove,
  },
  {
    Category:  genai.HarmCategoryHateSpeech,
    Threshold: genai.HarmBlockLowAndAbove,
  },
}

Node.js

import { HarmBlockThreshold, HarmCategory } from "@google/generative-ai";

// ...

const safetySettings = [
  {
    category: HarmCategory.HARM_CATEGORY_HARASSMENT,
    threshold: HarmBlockThreshold.BLOCK_LOW_AND_ABOVE,
  },
  {
    category: HarmCategory.HARM_CATEGORY_HATE_SPEECH,
    threshold: HarmBlockThreshold.BLOCK_LOW_AND_ABOVE,
  },
];

const model = genAi.getGenerativeModel({ model: "gemini-1.5-flash", safetySettings: safetySettings });

ウェブ

import { HarmBlockThreshold, HarmCategory } from "@google/generative-ai";

// ...

const safetySettings = [
  {
    category: HarmCategory.HARM_CATEGORY_HARASSMENT,
    threshold: HarmBlockThreshold.BLOCK_LOW_AND_ABOVE,
  },
  {
    category: HarmCategory.HARM_CATEGORY_HATE_SPEECH,
    threshold: HarmBlockThreshold.BLOCK_LOW_AND_ABOVE,
  },
];

const model = genAi.getGenerativeModel({ model: "gemini-1.5-flash", safetySettings });

Dart(Flutter)

final safetySettings = [
  SafetySetting(HarmCategory.harassment, HarmBlockThreshold.low),
  SafetySetting(HarmCategory.hateSpeech, HarmBlockThreshold.low),
];
final model = GenerativeModel(
  model: 'gemini-1.5-flash',
  apiKey: apiKey,
  safetySettings: safetySettings,
);

Kotlin

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

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

val generativeModel = GenerativeModel(
    modelName = "gemini-1.5-flash",
    apiKey = BuildConfig.apiKey,
    safetySettings = listOf(harassmentSafety, hateSpeechSafety)
)

Java

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

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

GenerativeModel gm = new GenerativeModel(
    "gemini-1.5-flash",
    BuildConfig.apiKey,
    null, // generation config is optional
    Arrays.asList(harassmentSafety, hateSpeechSafety)
);

GenerativeModelFutures model = GenerativeModelFutures.from(gm);

次のステップ

  • API 全体の詳細については、API リファレンスをご覧ください。
  • 安全に関する一般的な情報については、安全に関するガイダンスをご覧ください。 いくつかの考慮事項を紹介します
  • 確率と重大度の評価について詳しくは、Jigsaw をご覧ください。 チーム
  • 以下をはじめとする安全性ソリューションに寄与するプロダクトの詳細をご覧ください。 視点 API。 * これらの安全性設定を使用して、有害な表現を 分類器です。分類については、 始めましょう。