Sicherheitseinstellungen verstehen und verwenden

Mit den Sicherheitseinstellungen können Sie die Wahrscheinlichkeit anpassen, dass Sie Antworten erhalten, die als schädlich eingestuft werden könnten. Standardmäßig blockieren die Sicherheitseinstellungen Inhalte mit mittlerer und/oder hoher Wahrscheinlichkeit für unsichere Inhalte in allen Dimensionen.

 Zu den Gemini Sicherheitseinstellungen  Zu den Imagen Sicherheitseinstellungen

Sicherheitseinstellungen für Gemini-Modelle

Weitere Informationen zu den Sicherheitseinstellungen für Gemini-Modelle finden Sie in der Google Cloud-Dokumentation.

Swift

Sie konfigurieren SafetySettings, wenn Sie eine GenerativeModel-Instanz erstellen.

Beispiel mit einer Sicherheitseinstellung:

// ...

let model = vertex.generativeModel(
  modelName: "GEMINI_MODEL_NAME",
  safetySettings: [
    SafetySetting(harmCategory: .harassment, threshold: .blockOnlyHigh)
  ]
)

// ...

Beispiel mit mehreren Sicherheitseinstellungen:

// ...

let harassmentSafety = SafetySetting(harmCategory: .harassment, threshold: .blockOnlyHigh)
let hateSpeechSafety = SafetySetting(harmCategory: .hateSpeech, threshold: .blockMediumAndAbove)

let model = vertex.generativeModel(
  modelName: "GEMINI_MODEL_NAME",
  safetySettings: [harassmentSafety, hateSpeechSafety]
)

// ...

Kotlin

Sie konfigurieren SafetySettings, wenn Sie eine GenerativeModel-Instanz erstellen.

Beispiel mit einer Sicherheitseinstellung:

import com.google.firebase.vertexai.type.HarmBlockThreshold
import com.google.firebase.vertexai.type.HarmCategory
import com.google.firebase.vertexai.type.SafetySetting

val generativeModel = Firebase.vertexAI.generativeModel(
    modelName = "GEMINI_MODEL_NAME",
    safetySettings = listOf(
        SafetySetting(HarmCategory.HARASSMENT, HarmBlockThreshold.ONLY_HIGH)
    )
)

// ...

Beispiel mit mehreren Sicherheitseinstellungen:

import com.google.firebase.vertexai.type.HarmBlockThreshold
import com.google.firebase.vertexai.type.HarmCategory
import com.google.firebase.vertexai.type.SafetySetting

val harassmentSafety = SafetySetting(HarmCategory.HARASSMENT, HarmBlockThreshold.ONLY_HIGH)
val hateSpeechSafety = SafetySetting(HarmCategory.HATE_SPEECH, HarmBlockThreshold.MEDIUM_AND_ABOVE)

val generativeModel = Firebase.vertexAI.generativeModel(
    modelName = "GEMINI_MODEL_NAME",
    safetySettings = listOf(harassmentSafety, hateSpeechSafety)
)

// ...

Java

Sie konfigurieren SafetySettings, wenn Sie eine GenerativeModel-Instanz erstellen.

SafetySetting harassmentSafety = new SafetySetting(HarmCategory.HARASSMENT,
    HarmBlockThreshold.ONLY_HIGH);

GenerativeModel gm = FirebaseVertexAI.getInstance().generativeModel(
    "GEMINI_MODEL_NAME",
    /* generationConfig is optional */ null,
    Collections.singletonList(harassmentSafety)
);

GenerativeModelFutures model = GenerativeModelFutures.from(gm);

// ...

Beispiel mit mehreren Sicherheitseinstellungen:

SafetySetting harassmentSafety = new SafetySetting(HarmCategory.HARASSMENT,
    HarmBlockThreshold.ONLY_HIGH);

SafetySetting hateSpeechSafety = new SafetySetting(HarmCategory.HATE_SPEECH,
    HarmBlockThreshold.MEDIUM_AND_ABOVE);

GenerativeModel gm = FirebaseVertexAI.getInstance().generativeModel(
    "GEMINI_MODEL_NAME",
    /* generationConfig is optional */ null,
    List.of(harassmentSafety, hateSpeechSafety)
);

GenerativeModelFutures model = GenerativeModelFutures.from(gm);

// ...

Web

Sie konfigurieren SafetySettings, wenn Sie eine GenerativeModel-Instanz erstellen.

Beispiel mit einer Sicherheitseinstellung:

import { HarmBlockThreshold, HarmCategory, getGenerativeModel } from "firebase/vertexai";

// ...

const safetySettings = [
  {
    category: HarmCategory.HARM_CATEGORY_HARASSMENT,
    threshold: HarmBlockThreshold.BLOCK_ONLY_HIGH,
  },
];

const model = getGenerativeModel(vertex, { model: "GEMINI_MODEL_NAME", safetySettings });

// ...

Beispiel mit mehreren Sicherheitseinstellungen:

import { HarmBlockThreshold, HarmCategory, getGenerativeModel } from "firebase/vertexai";

// ...

const safetySettings = [
  {
    category: HarmCategory.HARM_CATEGORY_HARASSMENT,
    threshold: HarmBlockThreshold.BLOCK_ONLY_HIGH,
  },
  {
    category: HarmCategory.HARM_CATEGORY_HATE_SPEECH,
    threshold: HarmBlockThreshold.BLOCK_MEDIUM_AND_ABOVE,
  },
];

const model = getGenerativeModel(vertex, { model: "GEMINI_MODEL_NAME", safetySettings });

// ...

Dart

Sie konfigurieren SafetySettings, wenn Sie eine GenerativeModel-Instanz erstellen.

Beispiel mit einer Sicherheitseinstellung:

// ...

final safetySettings = [
  SafetySetting(HarmCategory.harassment, HarmBlockThreshold.high)
];
final model = FirebaseVertexAI.instance.generativeModel(
  model: 'GEMINI_MODEL_NAME',
  safetySettings: safetySettings,
);

// ...

Beispiel mit mehreren Sicherheitseinstellungen:

// ...

final safetySettings = [
  SafetySetting(HarmCategory.harassment, HarmBlockThreshold.high),
  SafetySetting(HarmCategory.hateSpeech, HarmBlockThreshold.high),
];
final model = FirebaseVertexAI.instance.generativeModel(
  model: 'GEMINI_MODEL_NAME',
  safetySettings: safetySettings,
);

// ...

Sicherheitseinstellungen für Imagen-Modelle

Informationen zu allen unterstützten Sicherheitseinstellungen und ihren verfügbaren Werten für Imagen-Modelle finden Sie in der Google Cloud-Dokumentation.

Swift

Sie konfigurieren ImagenSafetySettings, wenn Sie eine ImagenModel-Instanz erstellen.

// Initialize the Vertex AI service
let vertex = VertexAI.vertexAI()

// Create an `ImagenModel` instance
let model = vertex.imagenModel(
  modelName: "IMAGEN_MODEL_NAME",
  // Configure image generation safety settings for the model
  safetySettings: ImagenSafetySettings(
    safetyFilterLevel: .blockLowAndAbove,
    personFilterLevel: .allowAdult
  )
)

// ...

Kotlin

Sie konfigurieren ImagenSafetySettings, wenn Sie eine ImagenModel-Instanz erstellen.

// Create an `ImagenModel` instance
val imagenModel = Firebase.vertexAI.imagenModel(
  modelName = "IMAGEN_MODEL_NAME",
  // Configure image generation safety settings for the model
  safetySettings = ImagenSafetySettings(
    safetyFilterLevel = ImagenSafetyFilterLevel.BLOCK_LOW_AND_ABOVE,
    personFilterLevel = ImagenPersonFilterLevel.BLOCK_ALL
  )
)

// ...

Java

Sie konfigurieren ImagenSafetySettings, wenn Sie eine ImagenModel-Instanz erstellen.

// Create an `ImagenModel` instance
ImagenModel imagenModel =
    FirebaseVertexAI.getInstance().imagenModel(
            /* modelName */ "IMAGEN_MODEL_NAME",
            /* imageGenerationConfig */ null);
ImagenModelFutures model = ImagenModelFutures.from(imagenModel);

// ...

Web

Sie konfigurieren ImagenSafetySettings, wenn Sie eine ImagenModel-Instanz erstellen.

// Create an `ImagenModel` instance
const imagenModel = getImagenModel(
  vertexAI,
  {
    model: "IMAGEN_MODEL_NAME",
    // Configure image generation safety settings for the model
    safetySettings: {
      safetyFilterLevel: ImagenSafetyFilterLevel.BLOCK_LOW_AND_ABOVE,
      personFilterLevel: ImagenPersonFilterLevel.ALLOW_ADULT,
    }
  }
);

// ...

Dart

Sie konfigurieren ImagenSafetySettings, wenn Sie eine ImagenModel-Instanz erstellen.

// Create an `ImagenModel` instance
var model = FirebaseVertexAI.instance.imagenModel(
  model: 'IMAGEN_MODEL_NAME',
  // Configure image generation safety settings for the model
  safetySettings: ImagenSafetySettings(
    ImagenSafetyFilterLevel.blockLowAndAbove,
    ImagenPersonFilterLevel.allowAdult,
  ),
);

// ...

Weitere Optionen zur Steuerung der Inhaltsgenerierung

  • Weitere Informationen zum Design von Prompts, damit Sie das Modell beeinflussen können, um eine Ausgabe zu generieren, die Ihren Anforderungen entspricht.
  • Konfigurieren Sie Modellparameter, um zu steuern, wie das Modell eine Antwort generiert. Bei Gemini-Modellen sind dies die Parameter „max. Ausgabetokens“, „Temperatur“, „Top-K“ und „Top-P“. Bei Imagen-Modellen sind dies beispielsweise das Seitenverhältnis, die Generierung von Personen und das Hinzufügen von Wasserzeichen.
  • Legen Sie Systemanweisungen fest, um das Verhalten des Modells zu steuern. Diese Funktion ist wie eine „Präambel“, die Sie hinzufügen, bevor das Modell weiteren Anweisungen des Endnutzers ausgesetzt wird.
  • Geben Sie ein Antwortschema zusammen mit dem Prompt an, um ein bestimmtes Ausgabeschema anzugeben. Diese Funktion wird am häufigsten beim Generieren von JSON-Ausgabe verwendet, kann aber auch für Klassifizierungsaufgaben verwendet werden, z. B. wenn das Modell bestimmte Labels oder Tags verwenden soll.