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.
// 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',
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.
// 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 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 Google AI 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: .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)
}
// Specify the config as part of creating the `LiveModel` instance.
val liveModel = Firebase.ai(backend = GenerativeBackend.agentPlatform()).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.googleAI()).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 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 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 Google AI 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.
| Parámetro | Descripción | Limitaciones | Valor predeterminado |
|---|---|---|---|
Marca de tiempo de audioaudioTimestamp
|
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 |
false
|
Cantidad máxima de tokens de salidamaxOutputTokens
|
Especifica la cantidad máxima de tokens que se pueden generar en la respuesta. | --- | --- |
Secuencias de detenciónstopSequences
|
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 No se aplica a los modelos de imágenes ("Nano Banana") ni a los modelos de TTS. |
--- |
| Configuraciones especializadas | |||
PensandothinkingConfig
|
Controla el "proceso de pensamiento" de los modelos cuando generan una respuesta.
|
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 |
Depende del modelo |
Modalidades de respuestaresponseModalities
|
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 imagenimageConfig
|
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 |
VozspeechConfig
|
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).