Gemini API 提供安全設置,您可以在原型設計階段進行調整,以確定您的應用程式是否需要更嚴格或更寬鬆的安全配置。您可以針對四個篩選類別調整這些設置,以限製或允許某些類型的內容。
本指南介紹了 Gemini API 如何處理安全設定和過濾,以及如何變更應用程式的安全性設定。
安全篩選機制
Gemini API 的可調式安全過濾器涵蓋以下類別:
| 類別 | 說明 |
|---|---|
| 騷擾 | 針對身分和/或受保護屬性的負面或有害評論。 |
| 仇恨言論 | 粗魯、不尊重或褻瀆的內容。 |
| 煽情露骨內容 | 提及性行為或其他猥褻情事的內容。 |
| 危險內容 | 宣揚、促成或鼓勵有害行為。 |
這些類別在HarmCategory中定義。您可以使用這些篩選器來調整適合您使用場景的內容。例如,如果你正在編寫電子遊戲對話,你可能會認為允許更多被評為危險的內容是可以接受的,因為遊戲的性質決定了這一點。
除了可調節的安全過濾器外,Gemini API 還內建了核心危害的保護措施,例如危及兒童安全的內容。 這類傷害總是會被阻止,無法被糾正。
內容安全過濾級別
Gemini API 將內容不安全的機率等級分為 HIGH、MEDIUM、LOW 或 NEGLIGIBLE。
Gemini API 根據內容不安全的機率而不是嚴重程度來阻止內容。這一點很重要,因為有些內容雖然危害程度可能很高,但其不安全的機率很低。例如,比較以下句子:
- 機器人打了我一拳。
- 機器人把我劃傷了。
第一句話可能會導致更高的不安全機率,但你可能會認為第二句話在暴力程度上更為嚴重。 有鑑於此,您需要仔細測試並考慮適當的封鎖級別,以支援您的關鍵用例,同時最大限度地減少對最終用戶的傷害。
按要求進行安全過濾
您可以針對向 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.finishReason和Candidate.safetyRatings。如果回應內容被阻止,且 finishReason 為 SAFETY,您可以檢查 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。 您可以利用這些安全設定來建立毒性分類器。請參閱 分類範例 以開始使用。
