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 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
|
Recuento de candidatoscandidateCount
|
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:
Solo se aplica cuando se usa
No se aplica cuando se usan modelos de |
1
|
Cantidad máxima de tokens de salidamaxOutputTokens
|
Especifica la cantidad máxima de tokens que se pueden generar en la respuesta. | --- | --- |
Penalización de frecuenciafrequencyPenalty
|
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 presenciapresencePenalty
|
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ó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 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).