安全設定

Gemini API 提供安全設置,您可以在原型設計階段進行調整,以確定您的應用程式是否需要更嚴格或更寬鬆的安全配置。您可以針對四個篩選類別調整這些設置,以限製或允許某些類型的內容。

本指南介紹了 Gemini API 如何處理安全設定和過濾,以及如何變更應用程式的安全性設定。

安全篩選機制

Gemini API 的可調式安全過濾器涵蓋以下類別:

類別 說明
騷擾 針對身分和/或受保護屬性的負面或有害評論。
仇恨言論 粗魯、不尊重或褻瀆的內容。
煽情露骨內容 提及性行為或其他猥褻情事的內容。
危險內容 宣揚、促成或鼓勵有害行為。

這些類別在HarmCategory中定義。您可以使用這些篩選器來調整適合您使用場景的內容。例如,如果你正在編寫電子遊戲對話,你可能會認為允許更多被評為危險的內容是可以接受的,因為遊戲的性質決定了這一點。

除了可調節的安全過濾器外,Gemini API 還內建了核心危害的保護措施,例如危及兒童安全的內容。 這類傷害總是會被阻止,無法被糾正。

內容安全過濾級別

Gemini API 將內容不安全的機率等級分為 HIGHMEDIUMLOWNEGLIGIBLE

Gemini API 根據內容不安全的機率而不是嚴重程度來阻止內容。這一點很重要,因為有些內容雖然危害程度可能很高,但其不安全的機率很低。例如,比較以下句子:

  1. 機器人打了我一拳。
  2. 機器人把我劃傷了。

第一句話可能會導致更高的不安全機率,但你可能會認為第二句話在暴力程度上更為嚴重。 有鑑於此,您需要仔細測試並考慮適當的封鎖級別,以支援您的關鍵用例,同時最大限度地減少對最終用戶的傷害。

按要求進行安全過濾

您可以針對向 API 發出的每個請求調整安全性設定。當您提出請求時,系統會對內容進行分析並賦予其安全評級。安全等級包括危害類別和危害發生的機率。例如,如果由於騷擾類別的可能性較高而屏蔽內容,則傳回的安全評級類別將等於 HARASSMENT,傷害機率將設定為 HIGH

由於此模型固有的安全性,附加過濾器預設為 關閉。 如果您選擇啟用這些功能,您可以將系統設定為根據內容不安全的可能性來阻止內容。預設模型行為涵蓋了大多數使用場景,因此只有當您的應用程式需要一致地調整這些設定時,才應該調整這些設定。

下表描述了您可以針對每個類別調整的模組設定。例如,如果您將 仇恨言論 類別的屏蔽設定設為 屏蔽少量,則所有極有可能屬於仇恨言論的內容都將被封鎖。但任何機率較低的情況都是允許的。

閾值(Google AI Studio) 閾值(API) 說明
關閉 OFF 關閉安全過濾器
不封鎖任何項目 BLOCK_NONE 無論存在不安全內容的可能性如何,都務必顯示。
封鎖少數 BLOCK_ONLY_HIGH 當存在高度可能不安全的內容時,予以屏蔽。
封鎖一些 BLOCK_MEDIUM_AND_ABOVE 當存在中等或高機率的不安全內容時,予以屏蔽。
封鎖多數 BLOCK_LOW_AND_ABOVE 根據存在低、中或高機率的不安全內容進行屏蔽
N/A HARM_BLOCK_THRESHOLD_UNSPECIFIED 閾值未指定,使用預設閾值阻止。

如果未設定閾值,則 Gemini 2.5 和 3 型號的預設阻止閾值為 Off

您可以為向生成式服務發出的每個請求設定這些設定。 有關詳細信息,請參閱 HarmBlockThreshold API 參考。

安全回饋

generateContent 傳回一個 GenerateContentResponse,其中包含安全回饋。

及時回饋包含在promptFeedback。如果設定了 promptFeedback.blockReason,則提示內容將被封鎖。

回應候選人回饋包含在Candidate.finishReasonCandidate.safetyRatings。如果回應內容被阻止,且 finishReasonSAFETY,您可以檢查 safetyRatings 以取得更多詳細資訊。被屏蔽的內容不會回傳。

調整安全設定

本節介紹如何在 Google AI Studio 和程式碼中調整安全設定。

Google AI Studio

您可以在 Google AI Studio 中調整安全設定。

點選安全設定在下面進階設定運行設定打開面板運行安全設定模態。在彈出的視窗中,您可以使用滑桿來調整每個安全類別的內容過濾等級:

當您傳送請求(例如,透過向模型提問)時,如果請求的內容被阻止,則會顯示 內容被阻止 訊息。要查看更多詳細信息,請將指針懸停在 內容已屏蔽 文字上,以查看類別和危害分類的機率。

程式碼範例

以下程式碼片段展示如何在 GenerateContent 呼叫中設定安全設定。這設定了仇恨言論(HARM_CATEGORY_HATE_SPEECH)類別的閾值。將此類別設為 BLOCK_LOW_AND_ABOVE 將屏蔽任何具有低機率或高機率仇恨言論的內容。若要瞭解閾值設置,請參閱每個請求的安全過濾

Python

from google import genai
from google.genai import types

client = genai.Client()

response = client.models.generate_content(
    model="gemini-3.8-flash",
    contents="Some potentially unsafe prompt",
    config=types.GenerateContentConfig(
      safety_settings=[
        types.SafetySetting(
            category=types.HarmCategory.HARM_CATEGORY_HATE_SPEECH,
            threshold=types.HarmBlockThreshold.BLOCK_LOW_AND_ABOVE,
        ),
      ]
    )
)

print(response.text)

Go

package main

import (
    "context"
    "fmt"
    "log"
    "google.golang.org/genai"
)

func main() {
    ctx := context.Background()
    client, err := genai.NewClient(ctx, nil)
    if err != nil {
        log.Fatal(err)
    }

    config := &genai.GenerateContentConfig{
        SafetySettings: []*genai.SafetySetting{
            {
                Category:  "HARM_CATEGORY_HATE_SPEECH",
                Threshold: "BLOCK_LOW_AND_ABOVE",
            },
        },
    }

    response, err := client.Models.GenerateContent(
        ctx,
        "gemini-3.8-flash",
        genai.Text("Some potentially unsafe prompt."),
        config,
    )
    if err != nil {
        log.Fatal(err)
    }
    fmt.Println(response.Text())
}

JavaScript

import { GoogleGenAI } from "@google/genai";

const ai = new GoogleGenAI({});

const safetySettings = [
  {
    category: "HARM_CATEGORY_HATE_SPEECH",
    threshold: "BLOCK_LOW_AND_ABOVE",
  },
];

async function main() {
  const response = await ai.models.generateContent({
    model: "gemini-3.8-flash",
    contents: "Some potentially unsafe prompt.",
    config: {
      safetySettings: safetySettings,
    },
  });
  console.log(response.text);
}

await main();

Java

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

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

GenerativeModelFutures model = GenerativeModelFutures.from(gm);

REST

curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-3.8-flash:generateContent" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H "Content-Type: application/json" \
  -X POST \
  -d '{
    "safetySettings": [
        {"category": "HARM_CATEGORY_HATE_SPEECH", "threshold": "BLOCK_LOW_AND_ABOVE"}
    ],
    "contents": [{
        "parts":[{
            "text": "'\''Some potentially unsafe prompt.'\''"
        }]
    }]
}'

後續步驟

  • 有關完整 API 的更多信息,請參閱 API 參考
  • 請查看 安全指南,以瞭解使用 LLM 進行開發時的安全注意事項。
  • Jigsaw 團隊 瞭解更多關於評估機率與嚴重性的信息
  • 瞭解更多有助於實現安全解決方案的產品,例如 Perspective API。 您可以利用這些安全設定來建立毒性分類器。請參閱 分類範例 以開始使用。