Setelan keamanan

Gemini API menyediakan setelan keamanan yang dapat Anda sesuaikan selama tahap pembuatan prototipe untuk menentukan apakah aplikasi Anda memerlukan konfigurasi keamanan yang lebih ketat atau longgar. Anda dapat menyesuaikan setelan ini di seluruh kategori filter untuk membatasi atau mengizinkan jenis konten tertentu.

Panduan ini membahas cara menetapkan setelan keamanan pada interaksi, hal yang terjadi saat konten diblokir, serta kategori dan nilai minimum yang dapat Anda gunakan.

Menetapkan setelan keamanan

Teruskan daftar safety_settings saat Anda membuat interaksi. Setiap setelan menyandingkan kategori bahaya (type) dengan nilai minimum pemblokiran (threshold).

Contoh berikut menetapkan kategori ujaran kebencian (hate_speech) ke block_low_and_above, yang memblokir konten apa pun yang memiliki probabilitas rendah atau lebih tinggi sebagai ujaran kebencian:

Python

from google import genai

client = genai.Client()

interaction = client.interactions.create(
    model="gemini-3.8-flash",
    input="Some potentially unsafe prompt.",
    safety_settings=[
        {
            "type": "hate_speech",
            "threshold": "block_low_and_above",
        }
    ],
)

print(interaction.output_text)

JavaScript

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

const ai = new GoogleGenAI({});

async function main() {
  const interaction = await ai.interactions.create({
    model: "gemini-3.8-flash",
    input: "Some potentially unsafe prompt.",
    safety_settings: [
      {
        type: "hate_speech",
        threshold: "block_low_and_above",
      },
    ],
  });
  console.log(interaction.output_text);
}

await main();

Java

import com.google.genai.Client;
import com.google.genai.gaos.models.interactions.CreateModelInteraction;
import com.google.genai.gaos.models.interactions.HarmCategory;
import com.google.genai.gaos.models.interactions.Interaction;
import com.google.genai.gaos.models.interactions.InteractionsInput;
import com.google.genai.gaos.models.interactions.Model;
import com.google.genai.gaos.models.interactions.SafetySetting;
import com.google.genai.gaos.models.interactions.Threshold;
import com.google.genai.gaos.models.operations.CreateInteractionRequestBody;
import java.util.List;

Client client = new Client();

SafetySetting hateSpeechSafety =
    SafetySetting.builder()
        .type(HarmCategory.HATE_SPEECH)
        .threshold(Threshold.BLOCK_LOW_AND_ABOVE)
        .build();

CreateModelInteraction params =
    CreateModelInteraction.builder()
        .model(Model.of("gemini-3.8-flash"))
        .input(InteractionsInput.of("Some potentially unsafe prompt."))
        .safetySettings(List.of(hateSpeechSafety))
        .build();

Interaction interaction =
    client.interactions.create(CreateInteractionRequestBody.of(params)).interaction().get();

System.out.println(interaction.outputText().orElse(""));

Go

package main

import (
    "context"
    "fmt"
    "log"

    "google.golang.org/genai"
    "google.golang.org/genai/interactions/models/interactions"
    "google.golang.org/genai/interactions/models/operations"
)

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

    res, err := client.Interactions.Create(ctx, operations.CreateInteractionRequest{
        Body: operations.NewCreateInteractionRequestBody(interactions.CreateModelInteraction{
            Model: interactions.Model("gemini-3.8-flash"),
            Input: interactions.NewInteractionsInput("Some potentially unsafe prompt."),
            SafetySettings: []interactions.SafetySetting{
                {
                    Type:      interactions.HarmCategoryHateSpeech,
                    Threshold: interactions.ThresholdBlockLowAndAbove,
                },
            },
        }),
    })
    if err != nil {
        log.Fatal(err)
    }

    if res.Interaction.OutputText != nil {
        fmt.Println(*res.Interaction.OutputText)
    }
}

REST

curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H 'Content-Type: application/json' \
  -H "Api-Revision: 2026-05-20" \
  -d '{
    "model": "gemini-3.8-flash",
    "input": "Some potentially unsafe prompt.",
    "safety_settings": [
      {"type": "hate_speech", "threshold": "block_low_and_above"}
    ]
  }'

Anda dapat menyertakan satu setelan per kategori. Kategori yang tidak Anda tetapkan akan menggunakan nilai minimum default, yaitu Nonaktif untuk model Gemini 2.5 dan yang lebih baru.

Saat konten diblokir

Jika filter keamanan memblokir input atau respons model, interaksi akan gagal dengan error HTTP 400. Konten yang diblokir tidak ditampilkan.

Error code memberi tahu Anda alasan permintaan diblokir:

  • safety: Input atau respons diblokir oleh filter keamanan.
  • jailbreak, prohibited_content, atau blocklist: Input diblokir karena alasan tersebut. Error message diawali dengan Input blocked:.

Contoh:

{
  "error": {
    "code": "safety",
    "message": "Request blocked due to safety violations (harmful content). Please modify your input and retry."
  }
}

Untuk interaksi latar belakang (background=true), status interaksi ditetapkan ke failed, dan code serta message yang sama muncul dalam daftar errors-nya. Saat melakukan streaming, error akan muncul sebagai peristiwa error.

Filter keamanan

Filter keamanan Gemini API yang dapat disesuaikan mencakup kategori berikut:

Kategori Nilai (API) Deskripsi
Pelecehan harassment Konten yang melecehkan, mengancam, atau dimaksudkan untuk menindas, menyiksa, atau mengejek.
Ujaran kebencian hate_speech Konten yang mendorong kekerasan atau menghasut kebencian terhadap individu atau kelompok berdasarkan atribut tertentu.
Seksual vulgar sexually_explicit Konten yang berisi materi seksual vulgar.
Berbahaya dangerous_content Konten yang mempromosikan, memfasilitasi, atau memungkinkan aktivitas berbahaya.
Jailbreak jailbreak Perintah yang dirancang untuk mengabaikan filter keamanan.

Anda dapat menggunakan filter ini untuk menyesuaikan hal yang sesuai dengan kasus penggunaan Anda. Misalnya, jika Anda membuat dialog video game, Anda mungkin menganggapnya wajar untuk mengizinkan lebih banyak konten dengan peringkat Berbahaya karena karakteristik game itu sendiri.

Selain filter keamanan yang dapat disesuaikan, Gemini API memiliki perlindungan bawaan terhadap bahaya inti, seperti konten yang membahayakan keselamatan anak. Jenis bahaya ini selalu diblokir dan tidak dapat disesuaikan.

Batas pemblokiran

Karena keamanan bawaan model, filter tambahan Nonaktif secara default. Perilaku model default mencakup sebagian besar kasus penggunaan, jadi Anda hanya perlu menyesuaikan setelan ini jika diperlukan secara konsisten untuk aplikasi Anda.

Tabel berikut menjelaskan nilai minimum yang dapat Anda tetapkan untuk setiap kategori. Misalnya, jika Anda menyetel ujaran kebencian ke Block few (block_only_high), konten dengan probabilitas tinggi sebagai ujaran kebencian akan diblokir, dan konten dengan probabilitas lebih rendah akan diizinkan.

Nilai minimum (Google AI Studio) Batas (API) Deskripsi
Nonaktif off Menonaktifkan filter keamanan
Block few block_only_high Blokir jika probabilitas tinggi konten tidak aman
Blokir beberapa block_medium_and_above Blokir jika probabilitas konten tidak aman sedang atau tinggi
Blokir sebagian besar block_low_and_above Blokir jika ada probabilitas rendah, sedang, atau tinggi konten tidak aman

Probabilitas versus tingkat keparahan

Gemini API menilai probabilitas konten tidak aman sebagai tinggi, sedang, rendah, atau dapat diabaikan. Fitur ini memblokir konten berdasarkan probabilitas tersebut, bukan berdasarkan keparahan bahaya. Beberapa konten mungkin memiliki kemungkinan rendah untuk dianggap tidak aman, meskipun bahayanya bisa parah. Misalnya, bandingkan kalimat berikut:

  1. Robot itu memukul saya.
  2. Robot itu menebas saya.

Kalimat pertama mungkin memiliki kemungkinan konten tidak aman yang lebih tinggi, tetapi Anda mungkin menganggap kalimat kedua lebih parah. Lakukan pengujian dengan cermat untuk menemukan tingkat pemblokiran yang mendukung kasus penggunaan Anda sekaligus meminimalkan bahaya bagi pengguna akhir.

Menyesuaikan setelan keamanan di Google AI Studio

Klik Safety settings di bagian Advanced settings di panel Run settings untuk membuka modal Run safety settings. Di modal, Anda dapat menggunakan penggeser untuk menyesuaikan tingkat pemfilteran konten per kategori keamanan:

Saat Anda mengirim permintaan (misalnya, dengan mengajukan pertanyaan kepada model), pesan Konten diblokir akan muncul jika konten permintaan diblokir. Untuk melihat detail selengkapnya, arahkan kursor ke teks Konten diblokir untuk melihat kategori dan probabilitas klasifikasi bahaya.

Langkah berikutnya

  • Lihat referensi Interactions API untuk mempelajari lebih lanjut API lengkap.
  • Tinjau panduan keamanan untuk melihat gambaran umum pertimbangan keamanan saat mengembangkan dengan LLM.
  • Pelajari lebih lanjut cara menilai probabilitas versus tingkat keparahan dari tim Jigsaw.
  • Pelajari lebih lanjut produk yang berkontribusi pada solusi keamanan seperti Perspective API.