En cada llamada a un modelo, puedes enviar una configuración del modelo para controlar cómo este genera una respuesta. Cada modelo ofrece diferentes opciones de configuración.
También puedes experimentar con instrucciones y configuraciones de modelos con Google AI Studio.Ir a las opciones de configuración de Gemini Ir a las opciones de configuración de Imagen (obsoleto)
Configura modelos Gemini
|
Haz clic en tu proveedor de Gemini API para ver el contenido específico del proveedor y el código en esta página. |
En esta sección, se muestra cómo configurar una configuración para usarla con Gemini modelos y se proporciona una descripción de cada parámetro.
Configura un modelo (Gemini)
Configuración para casos de uso generales de Gemini
La configuración se mantiene durante la vida útil de la instancia. Si deseas usar una configuración diferente, crea una instancia nueva de GenerativeModel con esa configuración.
Swift
Establece los valores de los parámetros en un
GenerationConfig
como parte de la creación de una GenerativeModel instancia.
import FirebaseAILogic
// Set parameter values in a `GenerationConfig`.
// IMPORTANT: Example values shown here. Make sure to update for your use case.
let config = GenerationConfig(
candidateCount: 1,
temperature: 0.9,
topP: 0.1,
topK: 16,
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 GenerativeModel instancia.
// ...
// Set parameter values in a `GenerationConfig`.
// IMPORTANT: Example values shown here. Make sure to update for your use case.
val config = generationConfig {
candidateCount = 1
maxOutputTokens = 200
stopSequences = listOf("red")
temperature = 0.9f
topK = 16
topP = 0.1f
}
// 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 GenerativeModel instancia.
// ...
// Set parameter values in a `GenerationConfig`.
// IMPORTANT: Example values shown here. Make sure to update for your use case.
GenerationConfig.Builder configBuilder = new GenerationConfig.Builder();
configBuilder.candidateCount = 1;
configBuilder.maxOutputTokens = 200;
configBuilder.stopSequences = List.of("red");
configBuilder.temperature = 0.9f;
configBuilder.topK = 16;
configBuilder.topP = 0.1f;
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 GenerativeModel instancia.
// ...
// 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.
const generationConfig = {
candidate_count: 1,
maxOutputTokens: 200,
stopSequences: ["red"],
temperature: 0.9,
topP: 0.1,
topK: 16,
};
// 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 GenerativeModel.
// ...
// Set parameter values in a `GenerationConfig`.
// IMPORTANT: Example values shown here. Make sure to update for your use case.
final generationConfig = GenerationConfig(
candidateCount: 1,
maxOutputTokens: 200,
stopSequences: ["red"],
temperature: 0.9,
topP: 0.1,
topK: 16,
);
// 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 GenerativeModel instancia.
// ...
// Set parameter values in a `GenerationConfig`.
// IMPORTANT: Example values shown here. Make sure to update for your use case.
var generationConfig = new GenerationConfig(
candidateCount: 1,
maxOutputTokens: 200,
stopSequences: new string[] { "red" },
temperature: 0.9f,
topK: 16,
topP: 0.1f
);
// 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.
Configuración para la Gemini Live API
La configuración se mantiene durante la vida útil de la instancia. Si deseas usar una configuración diferente, crea una instancia nueva de LiveModel con esa configuración.
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(
temperature: 0.9,
topP: 0.1,
topK: 16,
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)
temperature = 0.9f
topK = 16
topP = 0.1f
}
// 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(Voices.FENRIR));
configBuilder.setTemperature(0.9f);
configBuilder.setTopK(16);
configBuilder.setTopP(0.1f);
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:
// ...
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" },
},
},
temperature: 0.9,
topP: 0.1,
topK: 16,
};
// 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 LiveGenerativeModel.
// ...
// Set parameter values in a `LiveGenerationConfig` (example values shown here)
final config = LiveGenerationConfig(
maxOutputTokens: 200,
responseModalities: [ResponseModalities.audio],
speechConfig: SpeechConfig(voiceName: 'Fenrir'),
temperature: 0.9,
topP: 0.1,
topK: 16,
);
// 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"),
temperature: 0.9f,
topK: 16,
topP: 0.1f
);
// 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.
Descripción de los parámetros (Gemini)
Esta es una descripción general de alto nivel de los parámetros disponibles, según corresponda. Puedes encontrar una lista completa de parámetros y sus valores en la documentación Gemini Developer API.
| Parámetro | Descripción | Valor predeterminado |
|---|---|---|
Marca de tiempo de audioaudioTimestamp
|
Un valor booleano que habilita la comprensión de marcas de tiempo para archivos de entrada de solo audio archivos. Solo se aplica cuando se usan llamadas |
false |
Cantidad de candidatoscandidateCount
|
Especifica la cantidad de variaciones de respuesta que se mostrará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 |
1 |
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. |
--- |
Cantidad máxima de tokens de salidamaxOutputTokens
|
Especifica la cantidad máxima de tokens que se pueden generar en la respuesta. | --- |
Penalización de 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. |
--- |
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
|
--- |
Temperaturatemperature
|
Controla el grado de aleatorización en la respuesta. Las temperaturas más bajas generan respuestas más determinísticas, y las temperaturas más altas generan respuestas más diversas o creativas. |
Depende del modelo |
Top-KtopK
|
Limita la cantidad de palabras con mayor probabilidad que se usan en el
contenido generado. Un valor de Top-K de 1 significa que el siguiente token seleccionado debe ser
el más probable entre todos los tokens del vocabulario del modelo,
mientras que un valor de Top-K de n significa que el siguiente token debe
seleccionarse entre los n tokens más probables
(todo según la temperatura establecida).
|
Depende del modelo |
Top-PtopP
|
Controla la diversidad del contenido generado. Los tokens se eligen del más probable (consulta Top-K más arriba) al menos probable, hasta que la suma de sus probabilidades sea igual al valor de Top-P. |
Depende del modelo |
Modalidad de respuestaresponseModality
|
Especifica el tipo de salida transmitida cuando se usa la Live API o la salida multimodal nativa de un Gemini modelo, por ejemplo, texto, audio o imágenes. Solo se aplica cuando se usan los modelos Live API o cuando se usa un modelo Gemini capaz de generar resultados multimodales. |
--- |
Voz (voz)speechConfig
|
Especifica la voz que se usa para la salida de audio transmitida cuando se usa la Live API. Solo se aplica cuando se usan los modelos Live API. |
Puck |
Configura modelos Imagen
|
Haz clic en tu proveedor Imagen API para ver el contenido específico del proveedor y el código en esta página. |
En esta sección, se muestra cómo configurar una configuración para usarla con Imagen modelos y se proporciona una descripción de cada parámetro.
Configura un modelo (Imagen)
La configuración se mantiene durante la vida útil de la instancia. Si deseas usar una configuración diferente, crea una instancia nueva de ImagenModel con esa configuración.
Swift
Establece los valores de los parámetros en un
ImagenGenerationConfig
como parte de la creación de una instancia de ImagenModel.
import FirebaseAILogic
// Set parameter values in a `ImagenGenerationConfig` (example values shown here)
let config = ImagenGenerationConfig(
negativePrompt: "frogs",
numberOfImages: 2,
aspectRatio: .landscape16x9,
imageFormat: .jpeg(compressionQuality: 100),
addWatermark: false
)
// Initialize the Gemini Developer API backend service
// Specify the config as part of creating the `ImagenModel` instance
let model = FirebaseAI.firebaseAI(backend: .googleAI()).imagenModel(
modelName: "IMAGEN_MODEL_NAME",
generationConfig: config
)
// ...
Kotlin
Establece los valores de los parámetros en un
ImagenGenerationConfig
como parte de la creación de una instancia de ImagenModel.
// ...
// Set parameter values in a `ImagenGenerationConfig` (example values shown here)
val config = ImagenGenerationConfig {
negativePrompt = "frogs",
numberOfImages = 2,
aspectRatio = ImagenAspectRatio.LANDSCAPE_16x9,
imageFormat = ImagenImageFormat.jpeg(compressionQuality = 100),
addWatermark = false
}
// Initialize the Gemini Developer API backend service
// Specify the config as part of creating the `GenerativeModel` instance
val model = Firebase.ai(backend = GenerativeBackend.vertexAI()).imagenModel(
modelName = "IMAGEN_MODEL_NAME",
generationConfig = config
)
// ...
Java
Establece los valores de los parámetros en un
ImagenGenerationConfig
como parte de la creación de una instancia de ImagenModel.
// ...
// Set parameter values in a `ImagenGenerationConfig` (example values shown here)
ImagenGenerationConfig config = new ImagenGenerationConfig.Builder()
.setNegativePrompt("frogs")
.setNumberOfImages(2)
.setAspectRatio(ImagenAspectRatio.LANDSCAPE_16x9)
.setImageFormat(ImagenImageFormat.jpeg(100))
.setAddWatermark(false)
.build();
// Specify the config as part of creating the `ImagenModel` instance
ImagenModelFutures model = ImagenModelFutures.from(
FirebaseAI.getInstance(GenerativeBackend.googleAI())
.imagenModel(
"IMAGEN_MODEL_NAME",
config
);
);
// ...
Web
Establece los valores de los parámetros en un
ImagenGenerationConfig
como parte de la creación de una instancia de ImagenModel.
// ...
// Initialize the Gemini Developer API backend service
const ai = getAI(firebaseApp, { backend: new GoogleAIBackend() });
// Set parameter values in a `ImagenGenerationConfig` (example values shown here)
const generationConfig = {
negativePrompt: "frogs",
numberOfImages: 2,
aspectRatio: ImagenAspectRatio.LANDSCAPE_16x9,
imageFormat: ImagenImageFormat.jpeg(100),
addWatermark: false
};
// Specify the config as part of creating the `ImagenModel` instance
const model = getImagenModel(ai, { model: "IMAGEN_MODEL_NAME", generationConfig });
// ...
Dart
Establece los valores de los parámetros en un
ImagenGenerationConfig
como parte de la creación de una instancia ImagenModel.
// ...
// Set parameter values in a `ImagenGenerationConfig` (example values shown here)
final generationConfig = ImagenGenerationConfig(
negativePrompt: 'frogs',
numberOfImages: 2,
aspectRatio: ImagenAspectRatio.landscape16x9,
imageFormat: ImagenImageFormat.jpeg(compressionQuality: 100)
addWatermark: false
);
// Initialize the Gemini Developer API backend service
// Specify the config as part of creating the `ImagenModel` instance
final model = FirebaseAI.googleAI().imagenModel(
model: 'IMAGEN_MODEL_NAME',
config: generationConfig,
);
// ...
Unity
Establece los valores de los parámetros en un
ImagenGenerationConfig
como parte de la creación de una instancia de ImagenModel.
using Firebase.AI;
// Set parameter values in a `ImagenGenerationConfig` (example values shown here)
var config = new ImagenGenerationConfig(
numberOfImages: 2,
aspectRatio: ImagenAspectRatio.Landscape16x9,
imageFormat: ImagenImageFormat.Jpeg(100)
);
// Initialize the Gemini Developer API backend service
// Specify the config as part of creating the `ImagenModel` instance
var model = FirebaseAI.GetInstance(FirebaseAI.Backend.GoogleAI()).GetImagenModel(
modelName: "imagen-4.0-generate-001",
generationConfig: config
);
// ...
Puedes encontrar una descripción de cada parámetro en la siguiente sección de esta página.
Descripción de los parámetros (Imagen)
Esta es una descripción general de alto nivel de los parámetros disponibles, según corresponda. Puedes encontrar una lista completa de parámetros y sus valores en la Google Cloud documentación.
| Parámetro | Descripción | Valor predeterminado |
|---|---|---|
Instrucción negativa
negativePrompt
|
Una descripción de lo que deseas omitir en las imágenes generadas
El editor aún no admite este parámetro
|
--- |
Cantidad de resultados
numberOfImages
|
La cantidad de imágenes generadas que se muestran para cada solicitud | El valor predeterminado es una imagen. |
Relación de aspecto
aspectRatio
|
La proporción entre el ancho y el alto de las imágenes generadas | El valor predeterminado es cuadrada (1:1). |
Formato de imagen
imageFormat
|
Las opciones de salida, como el formato de imagen (tipo de MIME) y el nivel de compresión de las imágenes generadas | El tipo de MIME predeterminado es PNG La compresión predeterminada es 75 (si el tipo de MIME está configurado como JPEG). |
Marca de agua
addWatermark
|
Indica si se debe agregar una marca de agua digital no visible (llamada a SynthID) a las imágenes generadas. | El valor predeterminado es true.
|
Generación de personas
personGeneration
|
Indica si se debe permitir que el modelo genere personas. | El valor predeterminado depende del modelo. |
Incluye atributos de seguridad
includeSafetyAttributes
|
Indica si se deben habilitar las puntuaciones redondeadas de IA responsable para obtener una lista de atributos de seguridad
en las respuestas de entrada y salida sin filtrar. Categorías de atributos de seguridad:
|
El valor predeterminado es false. |
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 generar resultados específicos para tus necesidades.
- Usa la configuración de seguridad para ajustar la probabilidad de obtener respuestas que puedan considerarse dañinas, incluido el discurso de odio y el contenido sexualmente 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 una salida JSON, pero también se puede usar para tareas de clasificación (como cuando deseas que el modelo use etiquetas o etiquetas específicas).