Interfejs Gemini API udostępnia ustawienia bezpieczeństwa, które możesz dostosować na etapie prototypowania, aby określić, czy aplikacja wymaga bardziej czy mniej restrykcyjnej konfiguracji bezpieczeństwa. Możesz dostosować te ustawienia w poszczególnych kategoriach filtrów, aby ograniczyć lub zezwolić na określone typy treści.
Z tego przewodnika dowiesz się, jak ustawić ustawienia bezpieczeństwa w przypadku interakcji, co się dzieje, gdy treść jest blokowana, oraz z jakich kategorii i progów możesz korzystać.
Ustawianie ustawień bezpieczeństwa
Podczas tworzenia interakcji przekaż listę safety_settings. Każde ustawienie łączy kategorię szkodliwych treści (type) z progiem blokowania (threshold).
Poniższy przykład ustawia kategorię wypowiedzi szerzących nienawiść (hate_speech) na block_low_and_above, co blokuje wszystkie treści, które mają niskie lub wyższe prawdopodobieństwo bycia wypowiedzią szerzącą nienawiść:
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"}
]
}'
W każdej kategorii możesz uwzględnić 1 ustawienie. Kategorie, których nie ustawisz, będą używać domyślnego progu, który w przypadku modeli Gemini 2.5 i nowszych jest ustawiony na Wył..
Gdy treść jest blokowana
Jeśli filtr bezpieczeństwa zablokuje dane wejściowe lub odpowiedź modelu, interakcja zakończy się niepowodzeniem z błędem HTTP 400. Zablokowana treść nie jest zwracana.
code błędu informuje, dlaczego żądanie zostało zablokowane:
safety: dane wejściowe lub odpowiedź zostały zablokowane przez filtr bezpieczeństwa.jailbreak,prohibited_contentlubblocklist: dane wejściowe zostały zablokowane z tego powodu.messagebłędu zaczyna się odInput blocked:.
Na przykład:
{
"error": {
"code": "safety",
"message": "Request blocked due to safety violations (harmful content). Please modify your input and retry."
}
}
W przypadku interakcji w tle (background=true) status jest
ustawiony na failed, a ten sam code i message pojawiają się na liście errors.
W przypadku przesyłania strumieniowego błąd jest wysyłany jako zdarzenie error.
Filtry bezpieczeństwa
Dostosowywane filtry bezpieczeństwa Gemini API obejmują te kategorie:
| Kategoria | Wartość (API) | Opis |
|---|---|---|
| Nękanie | harassment |
Treści obraźliwe, groźne lub mające na celu zastraszanie, dręczenie lub wyśmiewanie. |
| Szerzenie nienawiści | hate_speech |
Treści, które promują przemoc lub podżegają do nienawiści wobec osób lub grup na podstawie określonych cech. |
| Treści o charakterze jednoznacznie seksualnym | sexually_explicit |
Treści zawierające materiały o charakterze jednoznacznie seksualnym. |
| Treści niebezpieczne | dangerous_content |
Treści, które promują, ułatwiają lub umożliwiają podejmowanie niebezpiecznych działań. |
| Jailbreak | jailbreak |
Prompty zaprojektowane w celu obejścia filtrów bezpieczeństwa. |
Za pomocą tych filtrów możesz dostosować, co jest odpowiednie w Twoim przypadku użycia. Jeśli na przykład tworzysz dialogi w grze wideo, możesz zezwolić na więcej treści ocenionych jako niebezpieczne ze względu na charakter gry.
Oprócz dostosowywanych filtrów bezpieczeństwa interfejs Gemini API ma wbudowane zabezpieczenia przed podstawowymi szkodami, takimi jak treści zagrażające bezpieczeństwu dzieci. Te rodzaje szkodliwych treści są zawsze blokowane i nie można ich dostosować.
Progi blokowania
Ze względu na wbudowane zabezpieczenia modelu dodatkowe filtry są domyślnie wyłączone. Domyślne działanie modelu obejmuje większość przypadków użycia, dlatego te ustawienia należy dostosowywać tylko wtedy, gdy jest to stale wymagane w Twojej aplikacji.
W tabeli poniżej opisujemy progi, które możesz ustawić w każdej kategorii. Jeśli na przykład ustawisz Wypowiedzi szerzące nienawiść na Blokuj niektóre (block_only_high), treści o wysokim prawdopodobieństwie bycia wypowiedzią szerzącą nienawiść zostaną zablokowane, a wszystkie inne treści zostaną dopuszczone.
| Próg (Google AI Studio) | Próg (API) | Opis |
|---|---|---|
| Wył. | off |
Wyłącz filtr bezpieczeństwa |
| Blokuj niektóre | block_only_high |
Blokuj, gdy prawdopodobieństwo wystąpienia treści niebezpiecznych jest wysokie |
| Blokuj część | block_medium_and_above |
Blokuj, gdy prawdopodobieństwo wystąpienia treści niebezpiecznych jest średnie lub wysokie |
| Blokuj większość | block_low_and_above |
Blokuj, gdy prawdopodobieństwo wystąpienia treści niebezpiecznych jest niskie, średnie lub wysokie |
Prawdopodobieństwo a stopień szkodliwości
Interfejs Gemini API ocenia prawdopodobieństwo, że treść jest niebezpieczna, jako wysokie, średnie, niskie lub znikome. Blokuje treści na podstawie tego prawdopodobieństwa, a nie stopnia szkodliwości. Niektóre treści mogą mieć niskie prawdopodobieństwo bycia niebezpiecznymi, mimo że mogą być bardzo szkodliwe. Porównaj na przykład te zdania:
- Robot mnie uderzył.
- Robot mnie pociął.
Pierwsze zdanie może mieć większe prawdopodobieństwo bycia niebezpiecznym, ale drugie może być bardziej szkodliwe. Przeprowadź dokładne testy, aby znaleźć poziom blokowania, który będzie odpowiedni dla Twojego przypadku użycia, a jednocześnie zminimalizuje szkody dla użytkowników.
Dostosowywanie ustawień bezpieczeństwa w Google AI Studio
Aby otworzyć okno Ustawienia bezpieczeństwa uruchamiania, w panelu Ustawienia uruchamiania kliknij Ustawienia bezpieczeństwa w sekcji Ustawienia zaawansowane. W oknie możesz użyć suwaków, aby dostosować poziom filtrowania treści w każdej kategorii bezpieczeństwa:
Gdy wyślesz żądanie (np. zadając modelowi pytanie), a jego treść zostanie zablokowana, pojawi się komunikatTreść zablokowana. Aby zobaczyć więcej szczegółów, najedź kursorem na tekst Treść zablokowana. Zobaczysz kategorię i prawdopodobieństwo klasyfikacji szkodliwych treści.
Dalsze kroki
- Więcej informacji o pełnym interfejsie API znajdziesz w dokumentacji interfejsu Interactions API.
- Zapoznaj się z wytycznymi dotyczącymi bezpieczeństwa, aby uzyskać ogólne informacje o kwestiach związanych z bezpieczeństwem podczas tworzenia aplikacji z użyciem LLM.
- Więcej informacji o ocenie prawdopodobieństwa i stopnia szkodliwości znajdziesz w zespole Jigsaw team.
- Dowiedz się więcej o produktach, które przyczyniają się do tworzenia rozwiązań w zakresie bezpieczeństwa, takich jak Perspective API.
