Die generativen KI-Modelle von Google wie Gemini 1.5 Flash und Gemini 1.5 Pro sind so konzipiert, dass Sicherheit an erster Stelle steht. Sie können jedoch trotzdem schädliche Antworten generieren, insbesondere wenn sie ausdrücklich dazu aufgefordert werden. Um die Sicherheit weiter zu erhöhen und Missbrauch zu minimieren, können Sie Sicherheitsfilter konfigurieren, um potenziell schädliche Antworten zu blockieren.
Auf dieser Seite werden die einzelnen Sicherheitsfiltertypen und wichtige Sicherheitskonzepte beschrieben. Bei konfigurierbaren Filtern erfahren Sie, wie Sie die Grenzwerte für die Blockierung jeder Kategorie schädlichen Inhalts konfigurieren, um zu steuern, wie oft Prompts und Antworten blockiert werden.
Sicherheitsfilter dienen als Hürde und verhindern schädliche Ausgaben, beeinflussen aber nicht direkt das Verhalten des Modells. Weitere Informationen zur Modellsteuerung finden Sie in der Systemanleitung.
Unsichere Prompts
Die Vertex AI Gemini API gibt einen der folgenden enum
-Codes an, um zu erklären, warum ein Prompt abgelehnt wurde:
Enum | Filtertyp | Beschreibung |
---|---|---|
PROHIBITED_CONTENT | Nicht konfigurierbarer Sicherheitsfilter | Der Prompt wurde blockiert, weil er wegen verbotener Inhalte gemeldet wurde, in der Regel CSAM. |
BLOCKED_REASON_UNSPECIFIED | – | Es wurde kein Grund für das Blockieren des Prompts angegeben. |
ANDERE | – | Diese Aufzählung bezieht sich auf alle anderen Gründe für das Blockieren eines Prompts. Die Vertex AI Gemini API unterstützt nicht alle Sprachen. Eine Liste der unterstützten Sprachen finden Sie unter Sprachunterstützung für Gemini. |
Weitere Informationen finden Sie unter BlockedReason.
Das folgende Beispiel zeigt ein Beispiel für die Ausgabe der Vertex AI Gemini API, wenn ein Prompt
blockiert ist, da sie PROHIBITED_CONTENT
enthalten:
{ "promptFeedback": { "blockReason": "PROHIBITED_CONTENT" }, "usageMetadata": { "promptTokenCount": 7, "totalTokenCount": 7 } }
Antworten mit Sicherheitsrisiko
Mit den folgenden Filtern können potenziell unsichere Antworten erkannt und blockiert werden:
- Nicht konfigurierbare Sicherheitsfilter, die Darstellungen des sexuellen Missbrauchs von Kindern und personenidentifizierbare Informationen blockieren.
- Konfigurierbare Sicherheitsfilter, die unsichere Inhalte anhand einer Liste von Kategorien für schädliche Inhalte und ihren vom Nutzer konfigurierten Grenzwerten für die Blockierung blockieren. Sie können Blockierungsgrenzwerte für jeden dieser Schäden konfigurieren, je nachdem, was für Ihren Anwendungsfall und Ihr Unternehmen geeignet ist. Weitere Informationen finden Sie unter Konfigurationsoptionen für Sicherheitsfilter.
- Zitatfilter, die Missbrauch verhindern und eine korrekte Quellenangabe urheberrechtlich geschützter Daten sicherstellen. Weitere Informationen finden Sie unter Zitatfilter.
Ein LLM generiert Antworten in Texteinheiten, die als Tokens bezeichnet werden. Ein Modell generiert keine Tokens mehr, wenn es einen natürlichen Endpunkt erreicht hat oder einer der Filter die Antwort blockiert. Die Vertex AI Gemini API gibt einen der folgenden enum
-Codes aus, um zu erklären, warum die Tokengenerierung beendet wurde:
Enum | Filtertyp | Beschreibung |
---|---|---|
STOP | – | Dieser Enum-Wert gibt an, dass das Modell einen natürlichen Stopppunkt oder die angegebene Stoppsequenz erreicht hat. |
MAX_TOKENS | – | Die Tokengenerierung wurde gestoppt, da das Modell die in der Anfrage angegebene maximale Anzahl von Tokens erreicht hat. |
SAFETY | Konfigurierbarer Sicherheitsfilter | Die Tokengenerierung wurde gestoppt, da die Antwort aus Sicherheitsgründen gemeldet wurde. |
RECITATION | Zitatfilter | Die Tokengenerierung wurde gestoppt, da die Antwort wegen nicht autorisierter Zitate gekennzeichnet wurde. |
SPII | Nicht konfigurierbarer Sicherheitsfilter | Die Tokengenerierung wurde gestoppt, da die Antwort wegen vertraulicher personenidentifizierbarer Informationen gekennzeichnet wurde. |
PROHIBITED_CONTENT | Nicht konfigurierbarer Sicherheitsfilter | Die Tokengenerierung wurde gestoppt, weil die Antwort wegen verbotener Inhalte (normalerweise CSAM) gemeldet wurde. |
FINISH_REASON_UNSPECIFIED | – | Der Grund für Fertig ist nicht angegeben. |
ANDERE | – | Diese Aufzählung bezieht sich auf alle anderen Gründe, die die Tokengenerierung beenden. Die Tokengenerierung wird nicht für alle Sprachen unterstützt. Eine Liste der unterstützten Sprachen finden Sie unter Sprachunterstützung für Gemini. |
Weitere Informationen finden Sie unter FinishReason.
Wenn ein Filter die Antwort blockiert, wird das Candidate.content
-Feld der Antwort ungültig. Es gibt dem Modell kein Feedback.
Konfigurierbare Sicherheitsfilter
Bei Sicherheitsfiltern werden Inhalte anhand einer Liste von schädlichen Inhalten bewertet. Für jede Schadenskategorie weisen die Sicherheitsfilter eine Sicherheitsbewertung anhand der Wahrscheinlichkeit der Inhalte zu, die unsicher sind, und eine weitere Sicherheitsbewertung auf Grundlage des Schweregrads des schädlichen Inhalts aus.
Die konfigurierbaren Sicherheitsfilter haben keine von Modellversionen unabhängige Versionsverwaltung. Google aktualisiert den konfigurierbaren Sicherheitsfilter für eine zuvor veröffentlichte Version eines Modells nicht. Es kann jedoch den konfigurierbaren Sicherheitsfilter für eine zukünftige Version eines Modells aktualisieren.
Kategorien für schädliche Inhalte
Bei Sicherheitsfiltern werden Inhalte anhand der folgenden Kategorien für schädliche Inhalte bewertet:
Kategorie | Definition |
---|---|
Hassrede | Negative oder schädliche Kommentare, die auf Identität und/oder geschützte Merkmale ausgerichtet sind |
Belästigung | Böswillige, einschüchternde, mobbende oder missbräuchliche Kommentare, die auf andere Personen ausgerichtet sind |
Sexuell explizit | Enthält Verweise auf sexuelle Handlungen oder andere vulgäre Inhalte |
Gefährliche Inhalte | Fördert oder ermöglicht den Zugriff auf schädliche Waren, Dienste und Aktivitäten |
Vergleich von Wahrscheinlichkeitswerten und Schweregradwerten
Der Sicherheitswert Wahrscheinlichkeit gibt die Wahrscheinlichkeit an, mit der eine Modellantwort mit dem entsprechenden Schaden verknüpft ist. Sie hat einen zugehörigen Konfidenzwert zwischen 0.0
und 1.0
, gerundet auf eine Dezimalstelle.
Der Konfidenzwert wird in vier Sicherheitskonfidenzstufen diskretisiert: NEGLIGIBLE
, LOW
, MEDIUM
und HIGH
.
Das Sicherheitswert Schweregrad gibt an, wie schädlich eine Modellantwort sein kann. Sie hat einen zugehörigen Schweregrad von 0.0
bis 1.0
, gerundet auf eine Dezimalstelle. Der Schweregrad ist in vier Ebenen diskretisiert: NEGLIGIBLE
, LOW
, MEDIUM
und HIGH
.
Inhalte können einen niedrigen Wahrscheinlichkeitswert und einen hohen Schweregrad haben oder einen hohen Wahrscheinlichkeitswert und einen niedrigen Schweregrad.
Sicherheitsfilter konfigurieren
Sie können die Vertex AI Gemini API oder die Google Cloud Console verwenden, um den Sicherheitsfilter zu konfigurieren.
Vertex AI Gemini API
Die Vertex AI Gemini API bietet zwei Methoden zur „schädlichen Blockierung“:
- SCHWEREGRAD: Diese Methode verwendet Punktzahlen sowohl für die Wahrscheinlichkeit als auch den Schweregrad.
- WAHRSCHEINLICHKEIT: Diese Methode verwendet nur den Wahrscheinlichkeitswert.
Die Standardmethode ist SEVERITY
. Bei Modellen älter als gemini-1.5-flash
und gemini-1.5-pro
ist die Standardmethode PROBABILITY
. Weitere Informationen finden Sie in der Referenz zur HarmBlockMethod API.
Die Vertex AI Gemini API bietet die folgenden Schwellenwerte für die „schädlichen Blockierung“:
- BLOCK_LOW_AND_ABOVE: Blockieren Sie, wenn der Wahrscheinlichkeitswert oder der Schweregrad
LOW
,MEDIUM
oderHIGH
ist. - BLOCK_MEDIUM_AND_ABOVE: Blockieren Sie, wenn der Wahrscheinlichkeitswert oder der Schweregrad
MEDIUM
oderHIGH
ist. Fürgemini-1.5-flash-001
undgemini-1.5-pro-001
istBLOCK_MEDIUM_AND_ABOVE
der Standardwert. - BLOCK_ONLY_HIGH: Blockieren Sie, wenn der Wahrscheinlichkeitswert oder der Schweregrad
HIGH
ist. - HARM_BLOCK_THRESHOLD_UNSPECIFIED: Blockieren Sie mit dem Standardschwellenwert.
- AUS: Es erfolgt keine automatische Antwortblockierung und es werden keine Sicherheitsmetadaten zurückgegeben.
Für
gemini-1.5-flash-002
undgemini-1.5-pro-002
istOFF
der Standardwert. - BLOCK_NONE: Die Sicherheitseinstellung
BLOCK_NONE
entfernt die automatische Antwortblockierung. Stattdessen können Sie Ihre eigenen Sicherheitsrichtlinien mit den zurückgegebenen Werten konfigurieren. Dies ist ein eingeschränktes Feld, das nicht für alle Nutzer in GA-Modellversionen verfügbar ist.
Der folgende Python-Code zeigt beispielsweise, wie Sie die Methode der Schadenssperre auf SEVERITY
und den Schwellenwert für die die Schadenssperre auf BLOCK_ONLY_HIGH
für die Kategorie gefährlicher Inhalte setzen können:
generative_models.SafetySetting(
category=generative_models.HarmCategory.HARM_CATEGORY_DANGEROUS_CONTENT,
method=generative_models.HarmBlockMethod.SEVERITY,
threshold=generative_models.HarmBlockThreshold.BLOCK_ONLY_HIGH,
),
Dadurch werden die meisten Inhalte blockiert, die als gefährliche Inhalte eingestuft werden. Weitere Informationen finden Sie in der API-Referenz zu HarmBlockThreshold.
End-to-End-Beispiele in Python, Node.js, Java, Go, C# und REST finden Sie unter Beispiele für die Konfiguration von Sicherheitsfiltern.
Google Cloud Console
In der Google Cloud Console können Sie für jedes Sicherheitsattribut einen Schwellenwert konfigurieren. Der Sicherheitsfilter verwendet nur die Wahrscheinlichkeitswerte. Es gibt keine Option, die Schweregradwerte zu verwenden.
Die Google Cloud Console bietet die folgenden Grenzwerte:
- Aus (Standardeinstellung): Automatische Antworten werden nicht blockiert.
- Wenige blockieren: Blockieren Sie, wenn der Wahrscheinlichkeitswert
HIGH
ist. - Einige blockieren: Blockieren Sie, wenn der Wahrscheinlichkeitswert
MEDIUM
oderHIGH
ist. - Meiste blockieren: Blockieren Sie, wenn der Wahrscheinlichkeitswert
LOW
,MEDIUM
oderHIGH
ist.
Wenn Sie beispielsweise die Blockierungseinstellung für die Kategorie Gefährliche Inhalte auf Wenige blockieren setzen, werden alle Inhalte blockiert, die mit hoher Wahrscheinlichkeit gefährliche Inhalte enthalten. Alles mit einer niedrigeren Wahrscheinlichkeit ist zulässig. Der Standardgrenzwert ist Block some
.
So legen Sie die Schwellenwerte fest:
Rufen Sie im Bereich „Vertex AI“ der Google Cloud Console die Seite Vertex AI Studio auf.
Klicken Sie unter Neuen Prompt erstellen auf eine der Schaltflächen, um die Designseite für Prompts zu öffnen.
Klicken Sie auf Sicherheitseinstellungen.
Das Dialogfeld Sicherheitseinstellungen wird geöffnet.
Konfigurieren Sie für jede Kategorie von Schäden den gewünschten Grenzwert.
Klicken Sie auf Speichern.
Beispielausgabe, wenn eine Antwort durch den konfigurierbaren Sicherheitsfilter blockiert wird
Das folgende Beispiel zeigt die Ausgabe der Vertex AI Gemini API, wenn eine Antwort durch den konfigurierbaren Sicherheitsfilter mit gefährlichen Inhalten blockiert wird:
{ "candidates": [{ "finishReason": "SAFETY", "safetyRatings": [{ "category": "HARM_CATEGORY_HATE_SPEECH", "probability": "NEGLIGIBLE", "probabilityScore": 0.11027937, "severity": "HARM_SEVERITY_LOW", "severityScore": 0.28487435 }, { "category": "HARM_CATEGORY_DANGEROUS_CONTENT", "probability": "HIGH", "blocked": true, "probabilityScore": 0.95422274, "severity": "HARM_SEVERITY_MEDIUM", "severityScore": 0.43398145 }, { "category": "HARM_CATEGORY_HARASSMENT", "probability": "NEGLIGIBLE", "probabilityScore": 0.11085559, "severity": "HARM_SEVERITY_NEGLIGIBLE", "severityScore": 0.19027223 }, { "category": "HARM_CATEGORY_SEXUALLY_EXPLICIT", "probability": "NEGLIGIBLE", "probabilityScore": 0.22901751, "severity": "HARM_SEVERITY_NEGLIGIBLE", "severityScore": 0.09089675 }] }], "usageMetadata": { "promptTokenCount": 38, "totalTokenCount": 38 } }
Beispiele für die Konfiguration von Sicherheitsfiltern
Die folgenden Beispiele zeigen, wie Sie den Sicherheitsfilter mit der Vertex AI Gemini API konfigurieren können:
Python
Informationen zur Installation des Vertex AI SDK for Python finden Sie unter Vertex AI SDK for Python installieren. Weitere Informationen finden Sie in der Referenzdokumentation zur Python API.
Node.js
Bevor Sie dieses Beispiel anwenden, folgen Sie den Node.js-Einrichtungsschritten in der Vertex AI-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI Node.js API.
Richten Sie zur Authentifizierung bei Vertex AI Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Java
Bevor Sie dieses Beispiel anwenden, folgen Sie den Java-Einrichtungsschritten in der Vertex AI-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI Java API.
Richten Sie zur Authentifizierung bei Vertex AI Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Go
Bevor Sie dieses Beispiel anwenden, folgen Sie den Go-Einrichtungsschritten in der Vertex AI-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI Go API.
Richten Sie zur Authentifizierung bei Vertex AI Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
C#
Bevor Sie dieses Beispiel anwenden, folgen Sie den C#-Einrichtungsschritten in der Vertex AI-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI C# API.
Richten Sie zur Authentifizierung bei Vertex AI Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
REST
Nachdem Sie Ihre Umgebung eingerichtet haben, können Sie mit REST einen Text-Prompt testen. Im folgenden Beispiel wird eine Anfrage an den Publisher gesendet Modellendpunkt zu erstellen.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- LOCATION: Die Region, in der die Anfrage verarbeitet werden soll. Folgende Optionen sind verfügbar:
Klicken Sie, um eine unvollständige Liste der verfügbaren Regionen einzublenden
us-central1
us-west4
northamerica-northeast1
us-east4
us-west1
asia-northeast3
asia-southeast1
asia-northeast1
- PROJECT_ID: Ihre Projekt-ID.
- MODEL_ID: die Modell-ID des multimodalen Modells, das Sie verwenden möchten. Folgende Optionen sind verfügbar:
gemini-1.0-pro
gemini-1.0-pro-vision
- ROLE:
Die Rolle in einer Unterhaltung, die mit dem Inhalt verknüpft ist. Die Angabe einer Rolle ist auch bei Anwendungsfällen mit nur einem Schritt erforderlich.
Unter anderem sind folgende Werte zulässig:
USER
: Gibt Inhalte an, die von Ihnen gesendet werdenMODEL
: Gibt die Antwort des Modells an.
- TEXT: Die Textanleitung, die in den Prompt eingefügt werden soll.
- SAFETY_CATEGORY:
Die Sicherheitskategorie, für die ein Schwellenwert konfiguriert wird. Unter anderem sind folgende Werte zulässig:
Zum Maximieren von Sicherheitskategorien klicken
HARM_CATEGORY_SEXUALLY_EXPLICIT
HARM_CATEGORY_HATE_SPEECH
HARM_CATEGORY_HARASSMENT
HARM_CATEGORY_DANGEROUS_CONTENT
- THRESHOLD: Der Schwellenwert für das Blockieren von Antworten, die basierend auf der Wahrscheinlichkeit zur angegebenen Sicherheitskategorie gehören könnten. Unter anderem sind folgende Werte zulässig:
Zum Maximieren der Grenzwerte für die Blockierung klicken
BLOCK_NONE
BLOCK_ONLY_HIGH
BLOCK_MEDIUM_AND_ABOVE
(Standard)BLOCK_LOW_AND_ABOVE
BLOCK_LOW_AND_ABOVE
blockiert am meisten, währendBLOCK_ONLY_HIGH
am wenigsten blockiert.
HTTP-Methode und URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:streamGenerateContent
JSON-Text der Anfrage:
{ "contents": { "role": "ROLE", "parts": { "text": "TEXT" } }, "safetySettings": { "category": "SAFETY_CATEGORY", "threshold": "THRESHOLD" }, }
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:streamGenerateContent"
PowerShell
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:streamGenerateContent" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
Beispiel: cURL-Befehls
LOCATION="us-central1"
MODEL_ID="gemini-1.0-pro"
PROJECT_ID="test-project"
curl \
-X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://${LOCATION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${LOCATION}/publishers/google/models/${MODEL_ID}:streamGenerateContent -d \
$'{
"contents": {
"role": "user",
"parts": { "text": "Hello!" }
},
"safety_settings": [
{
"category": "HARM_CATEGORY_SEXUALLY_EXPLICIT",
"threshold": "OFF"
},
{
"category": "HARM_CATEGORY_HATE_SPEECH",
"threshold": "BLOCK_LOW_AND_ABOVE"
},
{
"category": "HARM_CATEGORY_HARASSMENT",
"threshold": "BLOCK_MEDIUM_AND_ABOVE"
},
{
"category": "HARM_CATEGORY_DANGEROUS_CONTENT",
"threshold": "BLOCK_ONLY_HIGH"
}
]
}'
Zitatfilter
Die generativen Code-Features von Vertex AI sind zum Erstellen von Originalinhalten vorgesehen. Gemini begrenzt die Wahrscheinlichkeit, dass vorhandene Inhalte umfassend repliziert werden. Wenn eine Gemini-Funktion aus einer Webseite ein umfangreiches zitiert, wird von Gemini diese Seite zitiert.
Manchmal sind dieselben Inhalte auf mehreren Webseiten zu finden. Gemini versucht, Sie auf eine beliebte Quelle zu verweisen. Bei Zitaten von Code-Repositories kann auch auf eine gültige Open-Source-Lizenz verwiesen werden. Es liegt in Ihrer eigenen Verantwortung, die Lizenzanforderungen einzuhalten.
Weitere Informationen zu den Metadaten des Zitatfilters finden Sie in der Referenz zur Citation API.
Filter für die Integrität öffentlicher Dokumente
Der Filter für die Integrität öffentlicher Äußerungen erkennt und blockiert Prompts, in denen politische Wahlen und Kandidaten erwähnt oder Bezug darauf genommen werden. Dieser Filter ist standardmäßig deaktiviert. Wenn Sie die Funktion aktivieren möchten, legen Sie den Blockierungsgrenzwert für CIVIC_INTEGRITY
auf einen der folgenden Werte fest. Es spielt keine Rolle, welchen Wert Sie angeben.
BLOCK_LOW_AND_ABOVE
BLOCK_MEDIUM_AND_ABOVE
BLOCK_ONLY_HIGH
Im folgenden Python-Code wird gezeigt, wie Sie den Filter für die demokratische Integrität aktivieren:
generative_models.SafetySetting(
category=generative_models.HarmCategory.HarmCategory.CIVIC_INTEGRITY,
threshold=generative_models.HarmBlockThreshold.BLOCK_LOW_AND_ABOVE,
),
Weitere Informationen zum Filter für die demokratische Integrität erhalten Sie von Ihrem Google Cloud-Ansprechpartner.
Best Practices
Sicherheitsfilter tragen zwar dazu bei, unsichere Inhalte zu verhindern, aber es kann vorkommen, dass sie auch sichere Inhalte blockieren oder unsichere Inhalte übersehen. Erweiterte Modelle wie Gemini 1.5 Flash und Gemini 1.5 Pro sind so konzipiert, dass sie auch ohne Filter sichere Antworten generieren. Testen Sie verschiedene Filtereinstellungen, um die richtige Balance zwischen Sicherheit und zulässigen Inhalten zu finden.
Nächste Schritte
- Weitere Informationen zu verantwortungsbewusster Anwendung von KI
- Data Governance