Comprende y usa la configuración de seguridad

Puedes usar la configuración de seguridad para ajustar la probabilidad de recibir respuestas que se puedan considerar dañinas. De forma predeterminada, la configuración de seguridad bloquea el contenido con una probabilidad media o alta de no ser seguro en todas las dimensiones.

Ir a la configuración de seguridad de Gemini Ir a la configuración de seguridad de Imagen

Configuración de seguridad para modelos Gemini

Obtén más información sobre la configuración de seguridad de los modelos Gemini en la documentación de Google Cloud.

Swift

SafetySettings se configura cuando creas una instancia de GenerativeModel.

Ejemplo con un parámetro de configuración de seguridad:

// ...

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

// ...

Ejemplo con varios parámetros de configuración de seguridad:

// ...

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

SafetySettings se configura cuando creas una instancia de GenerativeModel.

Ejemplo con un parámetro de configuración de seguridad:

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

// ...

Ejemplo con varios parámetros de configuración de seguridad:

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

SafetySettings se configura cuando creas una instancia de GenerativeModel.

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

// ...

Ejemplo con varios parámetros de configuración de seguridad:

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

SafetySettings se configura cuando creas una instancia de GenerativeModel.

Ejemplo con un parámetro de configuración de seguridad:

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

// ...

Ejemplo con varios parámetros de configuración de seguridad:

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

SafetySettings se configura cuando creas una instancia de GenerativeModel.

Ejemplo con un parámetro de configuración de seguridad:

// ...

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

// ...

Ejemplo con varios parámetros de configuración de seguridad:

// ...

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

// ...

Configuración de seguridad para modelos Imagen

Obtén información sobre todos los parámetros de configuración de seguridad admitidos y sus valores disponibles para los modelos Imagen en la documentación de Google Cloud.

Swift

ImagenSafetySettings se configura cuando creas una instancia de ImagenModel.

// 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

ImagenSafetySettings se configura cuando creas una instancia de ImagenModel.

// 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

ImagenSafetySettings se configura cuando creas una instancia de ImagenModel.

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

// ...

Web

ImagenSafetySettings se configura cuando creas una instancia de ImagenModel.

// 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

ImagenSafetySettings se configura cuando creas una instancia de ImagenModel.

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

// ...

Otras opciones para controlar la generación de contenido

  • Obtén más información sobre el diseño de instrucciones para influir en el modelo y generar resultados específicos para tus necesidades.
  • Configura los parámetros del modelo para controlar cómo este genera una respuesta. En el caso de los modelos Gemini, estos parámetros incluyen la cantidad máxima de tokens de salida, la temperatura, Top-K y Top-P. En el caso de los modelos Imagen, estos incluyen la relación de aspecto, la generación de personas, la marca de agua, etcétera.
  • Establece instrucciones del sistema para dirigir el comportamiento del modelo. Esta función es como un "preámbulo" que agregas antes de que el modelo se exponga a otras instrucciones del usuario final.
  • Pasa un esquema de respuesta junto con la instrucción para especificar un esquema de salida específico. Esta función se usa con mayor frecuencia cuando se genera un resultado JSON, pero también se puede usar para tareas de clasificación (como cuando deseas que el modelo use etiquetas específicas).