Sicherheits- und Inhaltsfilter

Die generativen KI-Modelle von Google, wie Gemini 2.5 Flash, sind so konzipiert, dass Sicherheit Priorität hat. Sie können jedoch weiterhin schädliche Antworten generieren, insbesondere wenn sie explizit dazu aufgefordert werden. Um die Sicherheit weiter zu erhöhen und Missbrauch zu minimieren, können Sie Inhaltsfilter konfigurieren, um potenziell schädliche Antworten zu blockieren.

Auf dieser Seite werden die einzelnen Sicherheits- und Inhaltsfiltertypen und wichtige Sicherheitskonzepte beschrieben. Bei konfigurierbaren Inhaltsfiltern 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. Beispiele zeigen, wie ein konfigurierbarer Inhaltsfilter programmiert wird.

Sicherheits- und Inhaltsfilter dienen als Hürde und verhindern schädliche Ausgaben, beeinflussen aber nicht direkt das Verhalten des Modells. Weitere Informationen zur Modellsteuerung finden Sie unter Systemanweisungen für die Sicherheit.

Unsichere Prompts

Die Gemini API in Vertex AI gibt einen der folgenden enum-Codes aus, 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 wegen Darstellungen des sexuellen Missbrauchs von Kindern.
BLOCKED_REASON_UNSPECIFIED Es wurde kein Grund für das Blockieren des Prompts angegeben.
OTHER Diese Aufzählung bezieht sich auf alle anderen Gründe für das Blockieren eines Prompts. Beachten Sie, dass die Gemini API in Vertex AI nicht alle Sprachen unterstützt. Eine Liste der unterstützten Sprachen finden Sie unter Sprachunterstützung für Gemini.

Weitere Informationen finden Sie unter BlockedReason.

Im Folgenden finden Sie Beispiele für die Ausgabe der Gemini API in Vertex AI für Prompt-Feedback. Wenn eine Eingabeaufforderung blockiert wird, enthält promptFeedback einen blockReason-Wert. Wenn ein Prompt nicht blockiert wird, ist promptFeedback leer, wie im folgenden Beispiel:

{
  "promptFeedback": {
  },
  "usageMetadata": {
    "promptTokenCount": 7,
    "totalTokenCount": 7
  }
}

Das folgende Beispiel zeigt einen Prompt, der blockiert wurde, weil er PROHIBITED_CONTENT enthält:

{
  "promptFeedback": {
    "blockReason": "PROHIBITED_CONTENT"
  },
  "usageMetadata": {
    "promptTokenCount": 7,
    "totalTokenCount": 7
  }
}

Das folgende Beispiel zeigt einen Prompt, der aus einem nicht näher angegebenen Grund blockiert wurde:

{
  "promptFeedback": {
    "blockReason": "BLOCKED_REASON_UNSPECIFIED"
  },
  "usageMetadata": {
    "promptTokenCount": 7,
    "totalTokenCount": 7
  }
}

Unsichere Antworten

Mit den folgenden Filtern können potenziell unsichere Antworten erkannt und blockiert werden:

  • Nicht konfigurierbare Sicherheitsfilter, die Darstellungen des sexuellen Missbrauchs von Kindern (CSAM) und personenidentifizierbare Informationen (PII) blockieren.
  • Konfigurierbare Inhaltsfilter, die unsichere Inhalte anhand einer Liste von Kategorien schädlicher Inhalte und ihren vom Nutzer konfigurierten Grenzwerten für die Blockierung blockieren. Sie können für jede dieser Arten von Schäden Blockierungsschwellenwerte konfigurieren, die für Ihren Anwendungsfall und Ihr Unternehmen angemessen sind. Weitere Informationen finden Sie unter Konfigurierbare Inhaltsfilter.
  • Zitationsfilter, die Quellenangaben für das Quellmaterial liefern. 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 Gemini API in Vertex AI gibt einen der folgenden enum-Codes aus, um zu erklären, warum die Tokengenerierung beendet wurde:

Enum Filtertyp Beschreibung
STOP Dieses Enum 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 Inhaltsfilter Die Tokengenerierung wurde gestoppt, da die Antwort wegen schädlicher Inhalte gekennzeichnet wurde.
RECITATION Zitatfilter Die Tokengenerierung wurde aufgrund einer möglichen Rezitation gestoppt.
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.
OTHER Diese Aufzählung bezieht sich auf alle anderen Gründe, die die Tokengenerierung verhindern. 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 wird kein Feedback an das Modell gesendet.

Konfigurierbare Inhaltsfilter

Inhaltsfilter bewerten Inhalte anhand einer Liste schädlicher Inhalte. Für jede Schadenskategorie weisen die Inhaltsfilter eine Punktzahl anhand der Wahrscheinlichkeit zu, mit der die Inhalte schädlich sind, sowie eine weitere Punktzahl auf Grundlage des Schweregrads des schädlichen Inhalts.

Die konfigurierbaren Inhaltsfilter haben keine von Modellversionen unabhängige Versionsverwaltung. Google aktualisiert den konfigurierbaren Inhaltsfilter für eine zuvor veröffentlichte Version eines Modells nicht. Es kann jedoch den konfigurierbaren Inhaltsfilter für eine zukünftige Version eines Modells aktualisieren.

Kategorien schädlicher Inhalte

Inhaltsfilter bewerten Inhalte anhand der folgenden Schadenskategorien:

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

Das Sicherheitsattribut 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 Konfidenzniveaus diskretisiert: NEGLIGIBLE, LOW, MEDIUM und HIGH.

Der 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.

Konfigurationsoptionen für Inhaltsfilter

Sie können die Gemini API in Vertex AI oder die Google Cloud Console verwenden, um Inhaltsfilter zu konfigurieren.

Gemini API in Vertex AI

Die Gemini API in Vertex AI 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 Modellversionen, die älter als gemini-1.5-flash und gemini-1.5-pro sind, ist die Standardmethode PROBABILITY. Weitere Informationen finden Sie in der HarmBlockMethod-API-Referenz.

Die Gemini API in Vertex AI bietet die folgenden Schwellenwerte für die „schädliche Blockierung“:

  • BLOCK_LOW_AND_ABOVE: Blockieren Sie, wenn der Wahrscheinlichkeitswert oder der Schweregrad LOW, MEDIUM oder HIGH ist.
  • BLOCK_MEDIUM_AND_ABOVE: Blockieren Sie, wenn der Wahrscheinlichkeitswert oder der Schweregrad MEDIUM oder HIGH ist.
  • BLOCK_ONLY_HIGH: Blockieren Sie, wenn der Wahrscheinlichkeitswert oder der Schweregrad HIGH ist.
  • HARM_BLOCK_THRESHOLD_UNSPECIFIED: Blockieren Sie mit dem Standardschwellenwert.
  • OFF: Es erfolgt keine automatische Antwortblockierung und es werden keine Metadaten zurückgegeben. Für gemini-2.5-flash und nachfolgende Modelle ist OFF der Standardwert.
  • BLOCK_NONE: Durch die Einstellung BLOCK_NONE wird die automatische Blockierung von Antworten entfernt. Stattdessen können Sie mit den zurückgegebenen Werten Ihre eigenen Inhaltsrichtlinien 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 den Schwellenwert für 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,
  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 HarmBlockThreshold-API-Referenz.

End-to-End-Beispiele in Python, Node.js, Java, Go, C# und REST finden Sie unter Beispiele für die Konfiguration von Inhaltsfiltern.

Google Cloud Console

In der Google Cloud -Konsole können Sie für jedes Inhaltsattribut einen Schwellenwert konfigurieren. Der Inhaltsfilter 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 oder HIGH ist.
  • Meiste blockieren: Blockieren Sie, wenn der Wahrscheinlichkeitswert LOW, MEDIUM oder HIGH 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.

So legen Sie die Schwellenwerte fest:

  1. Rufen Sie im Bereich „Vertex AI“ der Google Cloud Console die Seite Vertex AI Studio auf.

    Zu Vertex AI Studio

  2. Klicken Sie unter Neuen Prompt erstellen auf eine der Schaltflächen, um die Designseite für Prompts zu öffnen.

  3. Klicken Sie auf Sicherheitseinstellungen.

    Das Dialogfeld Sicherheitseinstellungen wird geöffnet.

  4. Konfigurieren Sie für jede Kategorie von Schäden den gewünschten Grenzwert.

  5. Klicken Sie auf Speichern.

Beispielausgabe für eine blockierte Antwort

Das folgende Beispiel zeigt die Ausgabe der Gemini API in Vertex AI, wenn eine Antwort durch den konfigurierbaren Inhaltsfilter 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
  }
}

Inhaltsfilterkonfiguration implementieren

Die folgenden Beispiele zeigen, wie Sie den Inhaltsfilter mit der Gemini API in Vertex AI konfigurieren können:

Python

Installieren

pip install --upgrade google-genai

Weitere Informationen finden Sie in der SDK-Referenzdokumentation.

Umgebungsvariablen für die Verwendung des Gen AI SDK mit Vertex AI festlegen:

# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values
# with appropriate values for your project.
export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT
export GOOGLE_CLOUD_LOCATION=global
export GOOGLE_GENAI_USE_VERTEXAI=True

from google import genai
from google.genai.types import (
    GenerateContentConfig,
    HarmCategory,
    HarmBlockThreshold,
    HttpOptions,
    SafetySetting,
)

client = genai.Client(http_options=HttpOptions(api_version="v1"))

system_instruction = "Be as mean as possible."

prompt = """
    Write a list of 5 disrespectful things that I might say to the universe after stubbing my toe in the dark.
"""

safety_settings = [
    SafetySetting(
        category=HarmCategory.HARM_CATEGORY_DANGEROUS_CONTENT,
        threshold=HarmBlockThreshold.BLOCK_LOW_AND_ABOVE,
    ),
    SafetySetting(
        category=HarmCategory.HARM_CATEGORY_HARASSMENT,
        threshold=HarmBlockThreshold.BLOCK_LOW_AND_ABOVE,
    ),
    SafetySetting(
        category=HarmCategory.HARM_CATEGORY_HATE_SPEECH,
        threshold=HarmBlockThreshold.BLOCK_LOW_AND_ABOVE,
    ),
    SafetySetting(
        category=HarmCategory.HARM_CATEGORY_SEXUALLY_EXPLICIT,
        threshold=HarmBlockThreshold.BLOCK_LOW_AND_ABOVE,
    ),
]

response = client.models.generate_content(
    model="gemini-2.5-flash",
    contents=prompt,
    config=GenerateContentConfig(
        system_instruction=system_instruction,
        safety_settings=safety_settings,
    ),
)

# Response will be `None` if it is blocked.
print(response.text)
# Example response:
#     None

# Finish Reason will be `SAFETY` if it is blocked.
print(response.candidates[0].finish_reason)
# Example response:
#     FinishReason.SAFETY

# For details on all the fields in the response
for each in response.candidates[0].safety_ratings:
    print('\nCategory: ', str(each.category))
    print('Is Blocked:', True if each.blocked else False)
    print('Probability: ', each.probability)
    print('Probability Score: ', each.probability_score)
    print('Severity:', each.severity)
    print('Severity Score:', each.severity_score)
# Example response:
#
#     Category:  HarmCategory.HARM_CATEGORY_HATE_SPEECH
#     Is Blocked: False
#     Probability:  HarmProbability.NEGLIGIBLE
#     Probability Score:  2.547714e-05
#     Severity: HarmSeverity.HARM_SEVERITY_NEGLIGIBLE
#     Severity Score: None
#
#     Category:  HarmCategory.HARM_CATEGORY_DANGEROUS_CONTENT
#     Is Blocked: False
#     Probability:  HarmProbability.NEGLIGIBLE
#     Probability Score:  3.6103818e-06
#     Severity: HarmSeverity.HARM_SEVERITY_NEGLIGIBLE
#     Severity Score: None
#
#     Category:  HarmCategory.HARM_CATEGORY_HARASSMENT
#     Is Blocked: True
#     Probability:  HarmProbability.MEDIUM
#     Probability Score:  0.71599233
#     Severity: HarmSeverity.HARM_SEVERITY_MEDIUM
#     Severity Score: 0.30782545
#
#     Category:  HarmCategory.HARM_CATEGORY_SEXUALLY_EXPLICIT
#     Is Blocked: False
#     Probability:  HarmProbability.NEGLIGIBLE
#     Probability Score:  1.5624657e-05
#     Severity: HarmSeverity.HARM_SEVERITY_NEGLIGIBLE
#     Severity Score: None

Go

Informationen zum Installieren oder Aktualisieren von Go

Weitere Informationen finden Sie in der SDK-Referenzdokumentation.

Umgebungsvariablen für die Verwendung des Gen AI SDK mit Vertex AI festlegen:

# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values
# with appropriate values for your project.
export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT
export GOOGLE_CLOUD_LOCATION=global
export GOOGLE_GENAI_USE_VERTEXAI=True

import (
	"context"
	"fmt"
	"io"

	"google.golang.org/genai"
)

// generateTextWithSafety shows how to apply safety settings to a text generation request.
func generateTextWithSafety(w io.Writer) error {
	ctx := context.Background()

	client, err := genai.NewClient(ctx, &genai.ClientConfig{
		HTTPOptions: genai.HTTPOptions{APIVersion: "v1"},
	})
	if err != nil {
		return fmt.Errorf("failed to create genai client: %w", err)
	}

	systemInstruction := &genai.Content{
		Parts: []*genai.Part{
			{Text: "Be as mean as possible."},
		},
		Role: "user",
	}

	prompt := "Write a list of 5 disrespectful things that I might say to the universe after stubbing my toe in the dark."

	safetySettings := []*genai.SafetySetting{
		{Category: genai.HarmCategoryDangerousContent, Threshold: genai.HarmBlockThresholdBlockLowAndAbove},
		{Category: genai.HarmCategoryHarassment, Threshold: genai.HarmBlockThresholdBlockLowAndAbove},
		{Category: genai.HarmCategoryHateSpeech, Threshold: genai.HarmBlockThresholdBlockLowAndAbove},
		{Category: genai.HarmCategorySexuallyExplicit, Threshold: genai.HarmBlockThresholdBlockLowAndAbove},
	}

	config := &genai.GenerateContentConfig{
		SystemInstruction: systemInstruction,
		SafetySettings:    safetySettings,
	}
	modelName := "gemini-2.5-flash"
	resp, err := client.Models.GenerateContent(ctx, modelName,
		[]*genai.Content{{Parts: []*genai.Part{{Text: prompt}}, Role: "user"}},
		config,
	)
	if err != nil {
		return fmt.Errorf("failed to generate content: %w", err)
	}

	fmt.Fprintln(w, resp.Text())

	if len(resp.Candidates) > 0 {
		fmt.Fprintln(w, "Finish Reason:", resp.Candidates[0].FinishReason)

		for _, rating := range resp.Candidates[0].SafetyRatings {
			fmt.Fprintf(w, "\nCategory: %v\nIs Blocked: %v\nProbability: %v\nProbability Score: %v\nSeverity: %v\nSeverity Score: %v\n",
				rating.Category,
				rating.Blocked,
				rating.Probability,
				rating.ProbabilityScore,
				rating.Severity,
				rating.SeverityScore,
			)
		}
	}

	// Example response:
	// Category: HARM_CATEGORY_HATE_SPEECH
	// Is Blocked: false
	// Probability: NEGLIGIBLE
	// Probability Score: 8.996795e-06
	// Severity: HARM_SEVERITY_NEGLIGIBLE
	// Severity Score: 0.04771039
	//
	// Category: HARM_CATEGORY_DANGEROUS_CONTENT
	// Is Blocked: false
	// Probability: NEGLIGIBLE
	// Probability Score: 2.2431707e-06
	// Severity: HARM_SEVERITY_NEGLIGIBLE
	// Severity Score: 0
	//
	// Category: HARM_CATEGORY_HARASSMENT
	// Is Blocked: false
	// Probability: NEGLIGIBLE
	// Probability Score: 0.00026123362
	// Severity: HARM_SEVERITY_NEGLIGIBLE
	// Severity Score: 0.022358216
	//
	// Category: HARM_CATEGORY_SEXUALLY_EXPLICIT
	// Is Blocked: false
	// Probability: NEGLIGIBLE
	// Probability Score: 6.1352006e-07
	// Severity: HARM_SEVERITY_NEGLIGIBLE
	// Severity Score: 0.020111412

	return nil
}

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, z. B. gemini-2.5-flash.
  • 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 werden
    • MODEL: 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ährend BLOCK_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-2.5-flash"
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"
    }
  ]
}'

Klassifikator für Jailbreaks

Bei einigen Prompts wird versucht, Sicherheitsrichtlinien, ethische Einschränkungen oder beabsichtigte Betriebsanleitungen zu umgehen, was zu potenziell schädlichen, voreingenommenen oder unangemessenen Ausgaben führt. Der Jailbreak-Klassifikator erkennt Prompts, mit denen versucht wird, die Sicherheitsmaßnahmen des Modells zu umgehen, und blockiert sie je nach Konfiguration. Dieser Filter ist standardmäßig deaktiviert. Wenn Sie die Funktion aktivieren möchten, legen Sie den Blockierungsgrenzwert für JAILBREAK auf einen der folgenden Werte fest:

  • BLOCK_NONE
  • BLOCK_LOW_AND_ABOVE
  • BLOCK_MEDIUM_AND_ABOVE
  • BLOCK_ONLY_HIGH

Im folgenden Code wird gezeigt, wie Sie diesen Jailbreak-Filter aktivieren:

generative_models.SafetySetting(
    category=generative_models.HarmCategory.JAILBREAK,
    threshold=generative_models.HarmBlockThreshold.BLOCK_ONLY_HIGH,
)

Wenn die Inhalte vom Jailbreak-Klassifikator blockiert werden, erhalten Sie ein Ergebnis wie dieses:

{
  prompt_feedback: { # [15B]
    block_reason: JAILBREAK
    safety_ratings: [ # [118]
      { # 0 [118]
        category: HARM_CATEGORY_JAILBREAK
        blocked: true
        severity: HARM_SEVERITY_MEDIUM
        severity_score: 0.76953125
      }
    ]
  }
}

Wenn Sie HarmBlockMethod auf PROBABILITY setzen, enthält safety_ratings probability und probability_score anstelle von severity und severity_score. Wenn der Prompt nicht blockiert oder gekennzeichnet wird, gibt das Modell je nach HarmBlockMethod weiterhin Sicherheitsbewertungen zurück.

Abrechnung

Wie bei anderen Gemini-Sicherheitsfiltern ist die Verwendung des Jailbreak-Klassifikators kostenlos.

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 API-Referenz zur Citation API.

Best Practices

Inhaltsfilter helfen zwar, unsichere Inhalte zu vermeiden, aber sie können gelegentlich harmlose Inhalte blockieren oder schädliche Inhalte übersehen. Erweiterte Modelle wie Gemini 2.5 Flash sind so konzipiert, dass sie auch ohne Filter sichere Antworten generieren. Testen Sie verschiedene Filtereinstellungen, um das richtige Gleichgewicht zwischen Sicherheit und Zulassen angemessener Inhalte zu finden.

Nächste Schritte