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 parámetros de configuración especializados para el razonamiento, las modalidades de respuesta, las imágenes, el habla o la detección de actividad de voz (VAD).

En la mayoría de los casos de uso, cuando accedes a un modelo de 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 establecer la configuración de los modelos de Gemini y se proporciona una tabla de parámetros disponibles.

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

GenerationConfig para modelos de 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 (Nano Banana) y los modelos de texto a voz (TTS).

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

En el siguiente ejemplo, se muestra una configuración de modelo muy básica. Para obtener opciones adicionales (en especial para modelos especializados), consulta la tabla de parámetros disponibles más adelante en esta página.

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.
// For the latest general-use Gemini models, the following parameters are now unsupported:
// temperature, top-K, top-P, frequency penalty, presence penalty, and candidate count
let config = GenerationConfig(
  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 instancia de GenerativeModel.


// ...

// Set parameter values in a `GenerationConfig`.
// IMPORTANT: Example values shown here. Make sure to update for your use case.
// For the latest general-use Gemini models, the following parameters are now unsupported:
// temperature, top-K, top-P, frequency penalty, presence penalty, and candidate count
val config = generationConfig {
    maxOutputTokens = 200
    stopSequences = listOf("red")
}

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


// ...

// Set parameter values in a `GenerationConfig`.
// IMPORTANT: Example values shown here. Make sure to update for your use case.
// For the latest general-use Gemini models, the following parameters are now unsupported:
// temperature, top-K, top-P, frequency penalty, presence penalty, and candidate count
GenerationConfig.Builder configBuilder = new GenerationConfig.Builder();
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.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 instancia de GenerativeModel.


// ...

// 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.
// For the latest general-use Gemini models, the following parameters are now unsupported:
// temperature, top-K, top-P, frequency penalty, presence penalty, and candidate count
const generationConfig = {
  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.
// For the latest general-use Gemini models, the following parameters are now unsupported:
// temperature, top-K, top-P, frequency penalty, presence penalty, and candidate count
final generationConfig = GenerationConfig(
  maxOutputTokens: 200,
  stopSequences: ["red"],
);

// 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',
  generationConfig: 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.
// For the latest general-use Gemini models, the following parameters are now unsupported:
// temperature, top-K, top-P, frequency penalty, presence penalty, and candidate count
var generationConfig = new GenerationConfig(
  maxOutputTokens: 200,
  stopSequences: new string[] { "red" }
);

// Initialize the Gemini Developer API backend service.
// 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 experimentar con instrucciones y parámetros de configuración del modelo con Google AI Studio.

LiveGenerationConfig para modelos de 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 el ciclo de vida de la instancia de LiveModel. Si quieres usar una configuración diferente, crea y usa una instancia nueva con una configuración diferente.

En el siguiente ejemplo, se muestra una configuración de modelo muy básica. Para obtener opciones adicionales (como configurar la detección de actividad de voz [VAD]), consulta la tabla de parámetros disponibles más adelante en esta página.

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(
  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 = Voice("FENRIR"))
}

// 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(new Voice("FENRIR")));

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:


// ...

// Initialize the Gemini Developer API backend service.
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" },
    },
  },
};

// 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.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")
);

// 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 experimentar con instrucciones y parámetros de configuración del modelo con Google AI Studio.



Parámetros de modelo disponibles

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

Parámetro Descripción Limitaciones Valor predeterminado
Marca de tiempo del 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
Cantidad máxima de tokens de salida
maxOutputTokens

Especifica la cantidad máxima de tokens que se pueden generar en la respuesta.

En el caso de gemini-4-argon, los límites predeterminados y máximos de tokens de salida son de 32,768 tokens para las solicitudes que no son de transmisión y de 65,536 tokens para las solicitudes de transmisión. Ten en cuenta que Firebase AI Logic aún no admite la decodificación larga, pero esa función estará disponible próximamente.

--- ---
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 aplicable para Nano Banana ni modelos de TTS.

---
Parámetros de configuración especializados
Pensando
thinkingConfig

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

  • Controla la cantidad de pensamiento que puede realizar el modelo con un nivel de pensamiento.
  • Controla si se deben incluir resúmenes de pensamientos.

Valores admitidos: Consulta la documentación sobre el pensamiento

No corresponde a los modelos de TTS.

Firebase AI Logic aún no admite la configuración de un thinkingConfig para los modelos de 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 los modelos Nano Banana, TTS y 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 Configura la generación de imágenes

Solo se aplica cuando se usan modelos de Nano Banana.

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

Obligatorio para los modelos de TTS.
Puck
Detección de actividad de voz (VAD)
realtimeInputConfig
Configura la detección de actividad de voz (VAD), el manejo de interrupciones y la cobertura del contexto de turno, o inhabilita la VAD automática.

Valores admitidos: Consulta Configura la VAD.

Solo se aplica cuando se usan modelos de Live API.

VAD habilitada

Consulta los valores predeterminados para los parámetros de configuración individuales.



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 que genere un resultado específico para tus necesidades.
  • Usa la configuración de seguridad para ajustar la probabilidad de obtener respuestas que puedan considerarse dañinas, como incitación al odio o a la violencia y contenido sexual explícito.
  • Establecer 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 quieres que el modelo use etiquetas específicas).