Sicherheits­einstellungen

Die Gemini API bietet Sicherheitseinstellungen, die Sie während der Prototyping-Phase, um festzustellen, ob Ihre Anwendung mehr oder weniger restriktive Sicherheitskonfiguration. Sie können diese Einstellungen auf vier Kategorien filtern, um bestimmte Inhaltstypen einzuschränken oder zuzulassen.

In diesem Leitfaden erfahren Sie, wie die Gemini API Sicherheitseinstellungen und Filter wie Sie die Sicherheitseinstellungen Ihrer App ändern können.

Sicherheitsfilter

Die anpassbaren Sicherheitsfilter der Gemini API decken die folgenden Kategorien ab:

Kategorie Beschreibung
Belästigung Negative oder schädliche Kommentare, die auf Identität ausgerichtet und/oder geschützt sind Attribute.
Hassrede Unhöfliche, respektlose oder vulgäre Inhalte.
Sexuell explizite Inhalte Enthält Verweise auf sexuelle Handlungen oder andere vulgäre Inhalte
Gefährlich Fördert, erleichtert oder ermutigt schädliche Handlungen.

Mit diesen Filtern können Sie die für Ihren Anwendungsfall geeigneten Filter auswählen. Für Wenn Sie z. B. Dialoge aus Videospielen entwickeln, mehr Inhalte zulassen, die aufgrund der Art des Spiels als gefährlich eingestuft werden.

Zusätzlich zu den anpassbaren Sicherheitsfiltern hat die Gemini API Schutz vor grundlegenden Schäden, z. B. Inhalten, die den Schutz von Kindern gefährden Solche Schäden werden immer blockiert und können nicht angepasst werden.

Filterstufe für die Sicherheit von Inhalten

Die Gemini API kategorisiert die Wahrscheinlichkeit, mit der Inhalte als unsicher eingestuft werden als HIGH, MEDIUM, LOW oder NEGLIGIBLE.

Die Gemini API blockiert Inhalte auf Grundlage der Wahrscheinlichkeit, dass Inhalte unsicher sind und nicht den Schweregrad. Das ist wichtig, da einige Inhalte haben eine geringe Wahrscheinlichkeit, unsicher zu sein, obwohl der Schweregrad des Schadens immer noch hoch sein. Hier ein Beispiel für einen Vergleich der Sätze:

  1. Der Roboter hat mich geboxt.
  2. Der Roboter hat mich in Stücke geschnitten.

Der erste Satz kann zu einer höheren Wahrscheinlichkeit führen, dass er unsicher ist. Sie können den zweiten Satz in Bezug auf Gewalt als stärker empfunden werden. Daher ist es wichtig, dass Sie sorgfältig testen und überlegen, welche um Ihre wichtigsten Anwendungsfälle zu unterstützen, während den Schaden für Endnutzer zu minimieren.

Sicherheitsfilter pro Anfrage

Sie können die Sicherheitseinstellungen für jede Anfrage an die API anpassen. Wann? werden die Inhalte analysiert und einer Sicherheitseinstufung zugewiesen. Die Die Sicherheitsbewertung enthält die Kategorie und die Wahrscheinlichkeit des Schadens Klassifizierung. Wenn der Inhalt beispielsweise aufgrund der Belästigung gesperrt wurde Kategorie mit hoher Wahrscheinlichkeit, würde die zurückgegebene Sicherheitsbewertung Kategorie gleich HARASSMENT und Schadenswahrscheinlichkeit auf HIGH festgelegt.

Standardmäßig blockieren die Sicherheitseinstellungen Inhalte (einschließlich Prompts) mit mittlerer oder höhere Wahrscheinlichkeit für einen Sicherheitsrisiko in allen Filtern. Dieser Grundsicherheitsbereich ist die für die meisten Anwendungsfälle geeignet sind. Sie sollten daher nur die Sicherheitseinstellungen wenn dies dauerhaft für Ihre Anwendung erforderlich ist.

In der folgenden Tabelle werden die Blockierungseinstellungen beschrieben, die Sie jeweils anpassen können. Kategorie. Wenn Sie z. B. die Einstellung Einige blockieren Kategorie Hassrede: alle Inhalte, bei denen die Wahrscheinlichkeit hoch ist, dass es sich um Hassreden handelt Sprachinhalte werden blockiert. Aber alles mit einer geringeren Wahrscheinlichkeit ist zulässig.

Grenzwert (Google AI Studio) Grenzwert (API) Beschreibung
Keine blockieren BLOCK_NONE Immer anzeigen, unabhängig davon, wie wahrscheinlich es ist, dass unsichere Inhalte vorhanden sind
Wenige blockieren BLOCK_ONLY_HIGH Bei hoher Wahrscheinlichkeit unsicherer Inhalte blockieren
Einige blockieren BLOCK_MEDIUM_AND_ABOVE Bei mittlerer oder hoher Wahrscheinlichkeit für unsichere Inhalte blockieren
Meiste blockieren BLOCK_LOW_AND_ABOVE Sperren, wenn die Wahrscheinlichkeit für unsichere Inhalte gering, mittel oder hoch ist
HARM_BLOCK_THRESHOLD_UNSPECIFIED Kein Grenzwert angegeben, Standardgrenzwert wird blockiert

Ist die Richtlinie nicht konfiguriert, lautet die Standardeinstellung für alle Kategorien Einige blockieren.

Sie können diese Einstellungen für jede Anfrage an den generativen Dienst festlegen. Weitere Informationen finden Sie in der HarmBlockThreshold API. finden Sie weitere Informationen.

Feedback zur Sicherheit

generateContent gibt Folgendes zurück: GenerateContentResponse, die beinhaltet Sicherheitsfeedback.

Prompt-Feedback ist enthalten in promptFeedback Wenn promptFeedback.blockReason festgelegt ist, wurde der Inhalt des Prompts blockiert.

Das Feedback der Antwortkandidaten ist enthalten in Candidate.finishReason und Candidate.safetyRatings Wenn-Antwort Inhalt wurde blockiert und finishReason war SAFETY, Sie können sich die safetyRatings. Der blockierte Inhalt wird nicht zurückgegeben.

Sicherheitseinstellungen anpassen

In diesem Abschnitt wird beschrieben, wie Sie die Sicherheitseinstellungen in Google AI Studio anpassen können. und in Ihrem Code.

Google AI Studio

Sie können die Sicherheitseinstellungen in Google AI Studio anpassen, aber nicht aktivieren deaktiviert.

Klicken Sie im Bereich Ausführungseinstellungen auf Sicherheitseinstellungen bearbeiten, um das Dialogfeld Ausführung Sicherheitseinstellungen. Im modalen Fenster können Sie mit den Schiebereglern Inhaltsfilterstufe pro Sicherheitskategorie:

Wenn Sie eine Anfrage senden (z. B. indem Sie dem Modell eine Frage stellen), wird ein Wenn der Inhalt der Anfrage blockiert ist, wird die Meldung Kein Inhalt angezeigt. Weitere Informationen halten Sie den Mauszeiger über das Kein Inhalt und klicken Sie auf . Sicherheit.

Gemini API-SDKs

Das folgende Code-Snippet zeigt, wie Sie Sicherheitseinstellungen in Ihrem GenerateContent Anruf. Dadurch wird die Belästigung ausgelöst (HARM_CATEGORY_HARASSMENT) und Hassrede (HARM_CATEGORY_HATE_SPEECH) mit BLOCK_LOW_AND_ABOVE blockiert alle Inhalte mit einer niedrigen oder höheren Wahrscheinlichkeit, dass es sich um Belästigung oder Hassrede handelt.

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 });

Web

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);

Nächste Schritte

  • Weitere Informationen zur vollständigen API finden Sie in der API-Referenz.
  • Allgemeine Informationen zur Sicherheit finden Sie in den Sicherheitsinformationen bei der Entwicklung mit LLMs.
  • Weitere Informationen zur Beurteilung der Wahrscheinlichkeit im Vergleich zum Schweregrad finden Sie in Jigsaw. Team
  • Erfahren Sie mehr über die Produkte, die zu Sicherheitslösungen beitragen, wie die Perspektive API hinzu. * Du kannst diese Sicherheitseinstellungen verwenden, um unangemessene Inhalte zu verbreiten. Klassifikator. Siehe die Klassifizierung Beispiel für Los gehts.