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:
- Der Roboter hat mich geboxt.
- 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 angemessene Blockierung erforderlich ist, 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 erlaubt.
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 |
Grenzwert ist nicht angegeben, wird mit Standardgrenzwert blockiert |
Wenn die Richtlinie nicht konfiguriert ist, wird standardmäßig für alle Kategorien Einige blockieren verwendet.
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: 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.