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
);
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
);
// ...
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 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.
En el caso de |
--- | --- |
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 aplicable para Nano Banana ni modelos de TTS. |
--- |
| Parámetros de configuración especializados | |||
PensandothinkingConfig
|
Controla el "proceso de pensamiento" de los modelos cuando generan una respuesta.
|
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
|
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 los modelos Nano Banana, TTS y 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 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 |
VozspeechConfig
|
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).