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 admite diferentes opciones de configuración, como establecer maxOutputTokens o configuraciones especializadas para el pensamiento, las modalidades de respuesta, las imágenes o el habla.

En la mayoría de los casos de uso, cuando accedes a un modelo Gemini, lo configuras con GenerationConfig. Sin embargo, si configuras un modelo Gemini Live API, debes usar LiveGenerationConfig.

En esta página, se muestra cómo configurar los modelos de Gemini y se proporciona una descripción de cada parámetro.

Ir a la configuración de Gemini Ir a la configuración de Gemini Live API

GenerationConfig para modelos Gemini

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

Establece un GenerationConfig para la mayoría de los modelos de Gemini, incluidos los modelos de uso general, los modelos de generación de imágenes (modelos "Nano Banana") y los modelos de texto a voz (TTS).

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

Swift

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


import FirebaseAILogic

// Set parameter values in a `GenerationConfig`.
// IMPORTANT: Example values shown here. Make sure to update for your use case.
// Note that temperature, top-K, and top-P are deprecated and ignored by the latest Gemini models.
let config = GenerationConfig(
  candidateCount: 1,
  maxOutputTokens: 200,
  stopSequences: ["red"]
)

// Initialize the Agent Platform Gemini API backend service (formerly Vertex AI).
// Specify the config as part of creating the `GenerativeModel` instance.
let model = FirebaseAI.firebaseAI(backend: .agentPlatform()).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 instancia de GenerativeModel.


// ...

// Set parameter values in a `GenerationConfig`.
// IMPORTANT: Example values shown here. Make sure to update for your use case.
// Note that temperature, top-K, and top-P are deprecated and ignored by the latest Gemini models.
val config = generationConfig {
    candidateCount = 1
    maxOutputTokens = 200
    stopSequences = listOf("red")
}

// Initialize the Agent Platform Gemini API backend service (formerly Vertex AI).
// Specify the config as part of creating the `GenerativeModel` instance.
val model = Firebase.ai(backend = GenerativeBackend.agentPlatform()).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 instancia de GenerativeModel.


// ...

// Set parameter values in a `GenerationConfig`.
// IMPORTANT: Example values shown here. Make sure to update for your use case.
// Note that temperature, top-K, and top-P are deprecated and ignored by the latest Gemini models.
GenerationConfig.Builder configBuilder = new GenerationConfig.Builder();
configBuilder.candidateCount = 1;
configBuilder.maxOutputTokens = 200;
configBuilder.stopSequences = List.of("red");

GenerationConfig config = configBuilder.build();

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

// ...

Web

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


// ...

// Initialize the Agent Platform Gemini API backend service (formerly Vertex AI).
const ai = getAI(firebaseApp, { backend: new AgentPlatformBackend() });

// Set parameter values in a `GenerationConfig`.
// IMPORTANT: Example values shown here. Make sure to update for your use case.
// Note that temperature, top-K, and top-P are deprecated and ignored by the latest Gemini models.
const generationConfig = {
  candidateCount: 1,
  maxOutputTokens: 200,
  stopSequences: ["red"],
};

// 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 de GenerativeModel.


// ...

// Set parameter values in a `GenerationConfig`.
// IMPORTANT: Example values shown here. Make sure to update for your use case.
// Note that temperature, top-K, and top-P are deprecated and ignored by the latest Gemini models.
final generationConfig = GenerationConfig(
  candidateCount: 1,
  maxOutputTokens: 200,
  stopSequences: ["red"],
);

// Initialize the Agent Platform Gemini API backend service (formerly Vertex AI).
// Specify the config as part of creating the `GenerativeModel` instance.
final model = FirebaseAI.agentPlatform().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 instancia de GenerativeModel.


// ...

// Set parameter values in a `GenerationConfig`.
// IMPORTANT: Example values shown here. Make sure to update for your use case.
// Note that temperature, top-K, and top-P are deprecated and ignored by the latest Gemini models.
var generationConfig = new GenerationConfig(
  candidateCount: 1,
  maxOutputTokens: 200,
  stopSequences: new string[] { "red" }
);

// Initialize the Agent Platform Gemini API backend service (formerly Vertex AI).
// Specify the config as part of creating the `GenerativeModel` instance.
var ai = FirebaseAI.GetInstance(FirebaseAI.Backend.AgentPlatform());
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.

Puedes experimentar con instrucciones y configuraciones del modelo usando Agent  Studio.

LiveGenerationConfig para modelos Gemini Live API

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

Establece un LiveGenerationConfig solo cuando uses modelos Gemini Live API.

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

Swift

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


// ...

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

// Specify the config as part of creating the `liveModel` instance.
let liveModel = FirebaseAI.firebaseAI(backend: .agentPlatform(location: "us-central1")).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)
}

// Specify the config as part of creating the `LiveModel` instance.
val liveModel = Firebase.ai(backend = GenerativeBackend.agentPlatform(location = "us-central1")).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));

LiveGenerationConfig config = configBuilder.build();

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

// ...

Web

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


// ...

// Initialize the Agent Platform Gemini API backend service (formerly Vertex AI).
const ai = getAI(firebaseApp, { backend: new AgentPlatformBackend("us-central1") });

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

// 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 de LiveGenerativeModel.


// ...

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

// Specify the config as part of creating the `liveGenerativeModel` instance.
final liveModel = FirebaseAI.agentPlatform(location: 'us-central1').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")
);

// Specify the config as part of creating the `LiveModel` instance.
var liveModel = FirebaseAI.GetInstance(FirebaseAI.Backend.AgentPlatform(location: "us-central1")).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.

Puedes experimentar con indicaciones y configuraciones del modelo usando Agent  Studio.



Descripción de los parámetros

En la siguiente tabla, se proporciona una descripción general de alto nivel de los parámetros disponibles. Algunos parámetros solo se aplican a ciertos modelos.

Ten en cuenta que los parámetros temperatura, Top-K y Top-P están obsoletos y los ignoran los modelos Gemini más recientes.

Parámetro Descripción Limitaciones Valor predeterminado
Marca de tiempo de audio
audioTimestamp
Habilita la comprensión de marcas de tiempo para archivos de entrada de solo audio.

Booleano

Solo se aplica cuando se usa una configuración de GenerativeModel y el tipo de entrada es un archivo de solo audio.

false
Recuento de candidatos
candidateCount
Especifica la cantidad de variaciones de respuesta que se devolverá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 a 8 (inclusive)

Solo se aplica cuando se usa generateContent.

No se aplica cuando se usan modelos de generateContentStream, modelos de TTS o modelos de Live API.

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

No se aplica a los modelos de TTS. ---
Penalización por 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.

No se aplica a los modelos de TTS. ---
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 configuración de GenerativeModel.

No se aplica a los modelos de TTS.

---
Configuraciones especializadas
Pensando
thinkingConfig

Controla el "proceso de pensamiento" de los modelos cuando generan una respuesta.

  • Controla la cantidad de razonamiento que puede realizar el modelo con un nivel de razonamiento (modelos Gemini 3.x y posteriores).
  • Controla si se incluyen resúmenes de pensamientos.

Valores admitidos: Consulta la documentación de pensamiento.

No se aplica a los modelos de TTS.

Firebase AI Logic aún no admite la configuración de un thinkingConfig para los modelos Live API.

Depende del modelo
Modalidades de respuesta
responseModalities
Especifica el tipo de salida (como texto, audio o imágenes). Solo se aplica (y es obligatorio) cuando se usan modelos de imágenes Gemini (modelos "Nano Banana"), modelos de TTS y modelos Live API. ---
Características de la imagen
imageConfig
Especifica la relación de aspecto y la resolución de las imágenes generadas.

Valores admitidos: Consulta Cómo configurar la generación de imágenes

Solo se aplica cuando se usan modelos de imagen Gemini (modelos "Nano Banana").

Relación de aspecto 1:1 (cuadrada)
Resolución de 1,024 x 1,024
Voz
speechConfig
Especifica la voz que se usa para la salida de audio. Solo se aplica cuando se usan modelos de TTS y modelos de Live API.

Obligatorio para los modelos de TTS.
Puck





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 y generar resultados específicos para tus necesidades.
  • Usa la configuración de seguridad para ajustar la probabilidad de obtener respuestas que se puedan considerar dañinas, como incitación al odio o a la violencia y contenido sexual 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 un resultado en formato JSON, pero también se puede usar para tareas de clasificación (como cuando quieres que el modelo use etiquetas o rótulos específicos).