Usa la configuración del modelo para controlar las respuestas

En cada llamada a un modelo, puedes enviar una configuración del modelo para controlar cómo este genera una respuesta. Cada modelo ofrece diferentes opciones de configuración.

También puedes experimentar con instrucciones y configuraciones de modelos con Google AI Studio.

Ir a las opciones de configuración de Gemini Ir a las opciones de configuración de Imagen (obsoleto)



Configura modelos Gemini

Haz clic en tu proveedor de Gemini API para ver el contenido específico del proveedor y el código en esta página.

En esta sección, se muestra cómo configurar una configuración para usarla con Gemini modelos y se proporciona una descripción de cada parámetro.

Configura un modelo (Gemini)

Configuración para casos de uso generales de Gemini

La configuración se mantiene durante la vida útil de la instancia. Si deseas usar una configuración diferente, crea una instancia nueva de GenerativeModel con esa configuración.

Swift

Establece los valores de los parámetros en un GenerationConfig como parte de la creación de una GenerativeModel instancia.


import FirebaseAILogic

// Set parameter values in a `GenerationConfig`.
// IMPORTANT: Example values shown here. Make sure to update for your use case.
let config = GenerationConfig(
  candidateCount: 1,
  temperature: 0.9,
  topP: 0.1,
  topK: 16,
  maxOutputTokens: 200,
  stopSequences: ["red"]
)

// Initialize the Gemini Developer API backend service
// Specify the config as part of creating the `GenerativeModel` instance
let model = FirebaseAI.firebaseAI(backend: .googleAI()).generativeModel(
  modelName: "GEMINI_MODEL_NAME",
  generationConfig: config
)

// ...

Kotlin

Establece los valores de los parámetros en un GenerationConfig como parte de la creación de una GenerativeModel instancia.


// ...

// Set parameter values in a `GenerationConfig`.
// IMPORTANT: Example values shown here. Make sure to update for your use case.
val config = generationConfig {
    candidateCount = 1
    maxOutputTokens = 200
    stopSequences = listOf("red")
    temperature = 0.9f
    topK = 16
    topP = 0.1f
}

// Initialize the Gemini Developer API backend service
// Specify the config as part of creating the `GenerativeModel` instance
val model = Firebase.ai(backend = GenerativeBackend.googleAI()).generativeModel(
    modelName = "GEMINI_MODEL_NAME",
    generationConfig = config
)

// ...

Java

Establece los valores de los parámetros en un GenerationConfig como parte de la creación de una GenerativeModel instancia.


// ...

// Set parameter values in a `GenerationConfig`.
// IMPORTANT: Example values shown here. Make sure to update for your use case.
GenerationConfig.Builder configBuilder = new GenerationConfig.Builder();
configBuilder.candidateCount = 1;
configBuilder.maxOutputTokens = 200;
configBuilder.stopSequences = List.of("red");
configBuilder.temperature = 0.9f;
configBuilder.topK = 16;
configBuilder.topP = 0.1f;

GenerationConfig config = configBuilder.build();

// Specify the config as part of creating the `GenerativeModel` instance
GenerativeModelFutures model = GenerativeModelFutures.from(
        FirebaseAI.getInstance(GenerativeBackend.googleAI())
                .generativeModel(
                    "GEMINI_MODEL_NAME",
                    config
                );
);

// ...

Web

Establece los valores de los parámetros en un GenerationConfig como parte de la creación de una GenerativeModel instancia.


// ...

// Initialize the Gemini Developer API backend service
const ai = getAI(firebaseApp, { backend: new GoogleAIBackend() });

// Set parameter values in a `GenerationConfig`.
// IMPORTANT: Example values shown here. Make sure to update for your use case.
const generationConfig = {
  candidate_count: 1,
  maxOutputTokens: 200,
  stopSequences: ["red"],
  temperature: 0.9,
  topP: 0.1,
  topK: 16,
};

// Specify the config as part of creating the `GenerativeModel` instance
const model = getGenerativeModel(ai, { model: "GEMINI_MODEL_NAME",  generationConfig });

// ...

Dart

Establece los valores de los parámetros en un GenerationConfig como parte de la creación de una instancia GenerativeModel.


// ...

// Set parameter values in a `GenerationConfig`.
// IMPORTANT: Example values shown here. Make sure to update for your use case.
final generationConfig = GenerationConfig(
  candidateCount: 1,
  maxOutputTokens: 200,
  stopSequences: ["red"],
  temperature: 0.9,
  topP: 0.1,
  topK: 16,
);

// Initialize the Gemini Developer API backend service
// Specify the config as part of creating the `GenerativeModel` instance
final model = FirebaseAI.googleAI().generativeModel(
  model: 'GEMINI_MODEL_NAME',
  config: generationConfig,
);

// ...

Unity

Establece los valores de los parámetros en un GenerationConfig como parte de la creación de una GenerativeModel instancia.


// ...

// Set parameter values in a `GenerationConfig`.
// IMPORTANT: Example values shown here. Make sure to update for your use case.
var generationConfig = new GenerationConfig(
  candidateCount: 1,
  maxOutputTokens: 200,
  stopSequences: new string[] { "red" },
  temperature: 0.9f,
  topK: 16,
  topP: 0.1f
);

// Specify the config as part of creating the `GenerativeModel` instance
var ai = FirebaseAI.GetInstance(FirebaseAI.Backend.GoogleAI());
var model = ai.GetGenerativeModel(
  modelName: "GEMINI_MODEL_NAME",
  generationConfig: generationConfig
);

Puedes encontrar una descripción de cada parámetro en la siguiente sección de esta página.

Configuración para la Gemini Live API

La configuración se mantiene durante la vida útil de la instancia. Si deseas usar una configuración diferente, crea una instancia nueva de LiveModel con esa configuración.

Swift

Establece los valores de los parámetros en el liveGenerationConfig durante la inicialización de la instancia de LiveModel:


// ...

// Set parameter values in a `LiveGenerationConfig` (example values shown here)
let config = LiveGenerationConfig(
  temperature: 0.9,
  topP: 0.1,
  topK: 16,
  maxOutputTokens: 200,
  responseModalities: [.audio],
  speech: SpeechConfig(voiceName: "Fenrir"),
)

// Specify the config as part of creating the `liveModel` instance
let liveModel = FirebaseAI.firebaseAI(backend: .googleAI()).liveModel(
  modelName: "GEMINI_LIVE_MODEL_NAME",
  generationConfig: config
)

// ...

Kotlin

Establece los valores de los parámetros en un LiveGenerationConfig como parte de la creación de una instancia de LiveModel.


// ...

// Set parameter values in a `LiveGenerationConfig` (example values shown here)
val config = liveGenerationConfig {
    maxOutputTokens = 200
    responseModality = ResponseModality.AUDIO
    speechConfig = SpeechConfig(voice = Voices.FENRIR)
    temperature = 0.9f
    topK = 16
    topP = 0.1f
}

// Specify the config as part of creating the `LiveModel` instance
val liveModel = Firebase.ai(backend = GenerativeBackend.googleAI()).liveModel(
    modelName = "GEMINI_LIVE_MODEL_NAME",
    generationConfig = config
)

// ...

Java

Establece los valores de los parámetros en un LiveGenerationConfig como parte de la creación de una instancia de LiveModel.


// ...

// Set parameter values in a `LiveGenerationConfig` (example values shown here)
LiveGenerationConfig.Builder configBuilder = new LiveGenerationConfig.Builder();
configBuilder.setMaxOutputTokens(200);
configBuilder.setResponseModality(ResponseModality.AUDIO);

configBuilder.setSpeechConfig(new SpeechConfig(Voices.FENRIR));
configBuilder.setTemperature(0.9f);
configBuilder.setTopK(16);
configBuilder.setTopP(0.1f);

LiveGenerationConfig config = configBuilder.build();

// Specify the config as part of creating the `LiveModel` instance
LiveGenerativeModel lm = FirebaseAI.getInstance(GenerativeBackend.googleAI()).liveModel(
          "GEMINI_LIVE_MODEL_NAME",
          config
);

// ...

Web

Establece los valores de los parámetros en el LiveGenerationConfig durante la inicialización de la instancia de LiveGenerativeModel:


// ...

const ai = getAI(firebaseApp, { backend: new GoogleAIBackend() });

// Set parameter values in a `LiveGenerationConfig` (example values shown here)
const liveGenerationConfig = {
  maxOutputTokens: 200,
  responseModalities: [ResponseModality.AUDIO],
  speechConfig: {
    voiceConfig: {
      prebuiltVoiceConfig: { voiceName: "Fenrir" },
    },
  },
  temperature: 0.9,
  topP: 0.1,
  topK: 16,
};

// Specify the config as part of creating the `LiveGenerativeModel` instance
const liveModel = getLiveGenerativeModel(ai, {
  model: "GEMINI_LIVE_MODEL_NAME",
  liveGenerationConfig,
});

// ...

Dart

Establece los valores de los parámetros en un LiveGenerationConfig como parte de la creación de una instancia LiveGenerativeModel.


// ...

// Set parameter values in a `LiveGenerationConfig` (example values shown here)
final config = LiveGenerationConfig(
  maxOutputTokens: 200,
  responseModalities: [ResponseModalities.audio],
  speechConfig: SpeechConfig(voiceName: 'Fenrir'),
  temperature: 0.9,
  topP: 0.1,
  topK: 16,
);

// Specify the config as part of creating the `liveGenerativeModel` instance
final liveModel = FirebaseAI.googleAI().liveGenerativeModel(
  model: 'GEMINI_LIVE_MODEL_NAME',
  liveGenerationConfig: config,
);

// ...

Unity

Establece los valores de los parámetros en un LiveGenerationConfig como parte de la creación de una instancia de LiveModel.


// ...

// Set parameter values in a `LiveGenerationConfig` (example values shown here)
var config = new LiveGenerationConfig(
  maxOutputTokens: 200,
  responseModalities: new[] { ResponseModality.Audio },
  speechConfig: SpeechConfig.UsePrebuiltVoice("Fenrir"),
  temperature: 0.9f,
  topK: 16,
  topP: 0.1f
);

// Specify the config as part of creating the `LiveModel` instance
var liveModel = FirebaseAI.GetInstance(FirebaseAI.Backend.GoogleAI()).GetLiveModel(
  modelName: "GEMINI_LIVE_MODEL_NAME",
  liveGenerationConfig: config
);

// ...

Puedes encontrar una descripción de cada parámetro en la siguiente sección de esta página.

Descripción de los parámetros (Gemini)

Esta es una descripción general de alto nivel de los parámetros disponibles, según corresponda. Puedes encontrar una lista completa de parámetros y sus valores en la documentación Gemini Developer API.

Parámetro Descripción Valor predeterminado
Marca de tiempo de audio
audioTimestamp

Un valor booleano que habilita la comprensión de marcas de tiempo para archivos de entrada de solo audio archivos.

Solo se aplica cuando se usan llamadas generateContent o generateContentStream y el tipo de entrada es un archivo de solo audio.

false
Cantidad de candidatos
candidateCount

Especifica la cantidad de variaciones de respuesta que se mostrarán. Por cada solicitud, se te cobra por los tokens de salida de todos los candidatos, pero solo se te cobra una vez por los tokens de entrada.

Valores admitidos: 1 - 8 (inclusive)

Solo se aplica cuando se usa generateContent y los modelos Gemini más recientes. No se admiten los modelos Live API ni generateContentStream.

1
Penalización de frecuencia
frequencyPenalty
Controla la probabilidad de incluir tokens que aparecen repetidamente en la respuesta generada.
Los valores positivos penalizan los tokens que aparecen repetidamente en el contenido generado, lo que disminuye la probabilidad de repetir contenido.
---
Cantidad máxima de tokens de salida
maxOutputTokens
Especifica la cantidad máxima de tokens que se pueden generar en la respuesta. ---
Penalización de presencia
presencePenalty
Controla la probabilidad de incluir tokens que ya aparecen en la respuesta generada.
Los valores positivos penalizan los tokens que ya aparecen en el contenido generado, lo que aumenta la probabilidad de generar contenido más diverso.
---
Secuencias de detención
stopSequences

Especifica una lista de cadenas que le indica al modelo que deje de generar contenido si se encuentra una de las cadenas en la respuesta.

Solo se aplica cuando se usa una GenerativeModel configuración.

---
Temperatura
temperature
Controla el grado de aleatorización en la respuesta.
Las temperaturas más bajas generan respuestas más determinísticas, y las temperaturas más altas generan respuestas más diversas o creativas.
Depende del modelo
Top-K
topK
Limita la cantidad de palabras con mayor probabilidad que se usan en el contenido generado.
Un valor de Top-K de 1 significa que el siguiente token seleccionado debe ser el más probable entre todos los tokens del vocabulario del modelo, mientras que un valor de Top-K de n significa que el siguiente token debe seleccionarse entre los n tokens más probables (todo según la temperatura establecida).
Depende del modelo
Top-P
topP
Controla la diversidad del contenido generado.
Los tokens se eligen del más probable (consulta Top-K más arriba) al menos probable, hasta que la suma de sus probabilidades sea igual al valor de Top-P.
Depende del modelo
Modalidad de respuesta
responseModality

Especifica el tipo de salida transmitida cuando se usa la Live API o la salida multimodal nativa de un Gemini modelo, por ejemplo, texto, audio o imágenes.

Solo se aplica cuando se usan los modelos Live API o cuando se usa un modelo Gemini capaz de generar resultados multimodales.

---
Voz (voz)
speechConfig

Especifica la voz que se usa para la salida de audio transmitida cuando se usa la Live API.

Solo se aplica cuando se usan los modelos Live API.

Puck



Configura modelos Imagen

Haz clic en tu proveedor Imagen API para ver el contenido específico del proveedor y el código en esta página.

En esta sección, se muestra cómo configurar una configuración para usarla con Imagen modelos y se proporciona una descripción de cada parámetro.

Configura un modelo (Imagen)

La configuración se mantiene durante la vida útil de la instancia. Si deseas usar una configuración diferente, crea una instancia nueva de ImagenModel con esa configuración.

Swift

Establece los valores de los parámetros en un ImagenGenerationConfig como parte de la creación de una instancia de ImagenModel.


import FirebaseAILogic

// Set parameter values in a `ImagenGenerationConfig` (example values shown here)
let config = ImagenGenerationConfig(
  negativePrompt: "frogs",
  numberOfImages: 2,
  aspectRatio: .landscape16x9,
  imageFormat: .jpeg(compressionQuality: 100),
  addWatermark: false
)

// Initialize the Gemini Developer API backend service
// Specify the config as part of creating the `ImagenModel` instance
let model = FirebaseAI.firebaseAI(backend: .googleAI()).imagenModel(
  modelName: "IMAGEN_MODEL_NAME",
  generationConfig: config
)

// ...

Kotlin

Establece los valores de los parámetros en un ImagenGenerationConfig como parte de la creación de una instancia de ImagenModel.


// ...

// Set parameter values in a `ImagenGenerationConfig` (example values shown here)
val config = ImagenGenerationConfig {
    negativePrompt = "frogs",
    numberOfImages = 2,
    aspectRatio = ImagenAspectRatio.LANDSCAPE_16x9,
    imageFormat = ImagenImageFormat.jpeg(compressionQuality = 100),
    addWatermark = false
}

// Initialize the Gemini Developer API backend service
// Specify the config as part of creating the `GenerativeModel` instance
val model = Firebase.ai(backend = GenerativeBackend.vertexAI()).imagenModel(
    modelName = "IMAGEN_MODEL_NAME",
    generationConfig = config
)

// ...

Java

Establece los valores de los parámetros en un ImagenGenerationConfig como parte de la creación de una instancia de ImagenModel.


// ...

// Set parameter values in a `ImagenGenerationConfig` (example values shown here)
ImagenGenerationConfig config = new ImagenGenerationConfig.Builder()
    .setNegativePrompt("frogs")
    .setNumberOfImages(2)
    .setAspectRatio(ImagenAspectRatio.LANDSCAPE_16x9)
    .setImageFormat(ImagenImageFormat.jpeg(100))
    .setAddWatermark(false)
    .build();

// Specify the config as part of creating the `ImagenModel` instance
ImagenModelFutures model = ImagenModelFutures.from(
        FirebaseAI.getInstance(GenerativeBackend.googleAI())
                .imagenModel(
                    "IMAGEN_MODEL_NAME",
                    config
                );
);

// ...

Web

Establece los valores de los parámetros en un ImagenGenerationConfig como parte de la creación de una instancia de ImagenModel.


// ...

// Initialize the Gemini Developer API backend service
const ai = getAI(firebaseApp, { backend: new GoogleAIBackend() });

// Set parameter values in a `ImagenGenerationConfig` (example values shown here)
const generationConfig = {
  negativePrompt: "frogs",
  numberOfImages: 2,
  aspectRatio: ImagenAspectRatio.LANDSCAPE_16x9,
  imageFormat: ImagenImageFormat.jpeg(100),
  addWatermark: false
};

// Specify the config as part of creating the `ImagenModel` instance
const model = getImagenModel(ai, { model: "IMAGEN_MODEL_NAME", generationConfig });

// ...

Dart

Establece los valores de los parámetros en un ImagenGenerationConfig como parte de la creación de una instancia ImagenModel.


// ...

// Set parameter values in a `ImagenGenerationConfig` (example values shown here)
final generationConfig = ImagenGenerationConfig(
  negativePrompt: 'frogs',
  numberOfImages: 2,
  aspectRatio: ImagenAspectRatio.landscape16x9,
  imageFormat: ImagenImageFormat.jpeg(compressionQuality: 100)
  addWatermark: false
);

// Initialize the Gemini Developer API backend service
// Specify the config as part of creating the `ImagenModel` instance
final model = FirebaseAI.googleAI().imagenModel(
  model: 'IMAGEN_MODEL_NAME',
  config: generationConfig,
);

// ...

Unity

Establece los valores de los parámetros en un ImagenGenerationConfig como parte de la creación de una instancia de ImagenModel.


using Firebase.AI;

// Set parameter values in a `ImagenGenerationConfig` (example values shown here)
var config = new ImagenGenerationConfig(
  numberOfImages: 2,
  aspectRatio: ImagenAspectRatio.Landscape16x9,
  imageFormat: ImagenImageFormat.Jpeg(100)
);

// Initialize the Gemini Developer API backend service
// Specify the config as part of creating the `ImagenModel` instance
var model = FirebaseAI.GetInstance(FirebaseAI.Backend.GoogleAI()).GetImagenModel(
  modelName: "imagen-4.0-generate-001",
  generationConfig: config
);

// ...

Puedes encontrar una descripción de cada parámetro en la siguiente sección de esta página.

Descripción de los parámetros (Imagen)

Esta es una descripción general de alto nivel de los parámetros disponibles, según corresponda. Puedes encontrar una lista completa de parámetros y sus valores en la Google Cloud documentación.

Parámetro Descripción Valor predeterminado
Instrucción negativa
negativePrompt
Una descripción de lo que deseas omitir en las imágenes generadas

El editor aún no admite este parámetro imagen-3.0-generate-002.

---
Cantidad de resultados
numberOfImages
La cantidad de imágenes generadas que se muestran para cada solicitud El valor predeterminado es una imagen.
Relación de aspecto
aspectRatio
La proporción entre el ancho y el alto de las imágenes generadas El valor predeterminado es cuadrada (1:1).
Formato de imagen
imageFormat
Las opciones de salida, como el formato de imagen (tipo de MIME) y el nivel de compresión de las imágenes generadas El tipo de MIME predeterminado es PNG
La compresión predeterminada es 75 (si el tipo de MIME está configurado como JPEG).
Marca de agua
addWatermark
Indica si se debe agregar una marca de agua digital no visible (llamada a SynthID) a las imágenes generadas. El valor predeterminado es true.
Generación de personas
personGeneration
Indica si se debe permitir que el modelo genere personas. El valor predeterminado depende del modelo.
Incluye atributos de seguridad
includeSafetyAttributes
Indica si se deben habilitar las puntuaciones redondeadas de IA responsable para obtener una lista de atributos de seguridad en las respuestas de entrada y salida sin filtrar.

Categorías de atributos de seguridad: "Death, Harm & Tragedy", "Firearms & Weapons", "Hate", "Health", "Illicit Drugs", "Politics", "Porn", "Religion & Belief", "Toxic", "Violence", "Vulgarity", "War & Conflict".

El valor predeterminado es false.



Otras opciones para controlar la generación de contenido

  • Obtén más información sobre el diseño de instrucciones para que puedas influir en el modelo para generar resultados específicos para tus necesidades.
  • Usa la configuración de seguridad para ajustar la probabilidad de obtener respuestas que puedan considerarse dañinas, incluido el discurso de odio y el contenido sexualmente explícito.
  • 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 una salida JSON, pero también se puede usar para tareas de clasificación (como cuando deseas que el modelo use etiquetas o etiquetas específicas).