Dans chaque appel à un modèle, vous pouvez envoyer une configuration de modèle pour contrôler la manière dont il génère une réponse. Chaque modèle propose différentes options de configuration.
Vous pouvez également tester les requêtes et les configurations de modèle à l'aide de Google AI Studio.Accéder aux options de configuration Gemini Accéder aux options de configuration Imagen (obsolète)
Configurer les modèles Gemini
|
Cliquez sur votre fournisseur Gemini API pour afficher le contenu spécifique au fournisseur et le code sur cette page. |
Cette section explique comment configurer une configuration à utiliser avec les Gemini modèles et fournit une description de chaque paramètre.
Configurer une configuration de modèle (Gemini)
Configuration pour les cas d'utilisation généraux Gemini
La configuration est conservée pendant toute la durée de vie de l'instance. Si vous souhaitez utiliser une autre configuration, créez une instance GenerativeModel avec cette configuration.
Swift
Définissez les valeurs des paramètres dans un
GenerationConfig
lors de la création d'une GenerativeModel instance.
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
Définissez les valeurs des paramètres dans un
GenerationConfig
lors de la création d'une GenerativeModel instance.
// ...
// 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
Définissez les valeurs des paramètres dans un
GenerationConfig
lors de la création d'une GenerativeModel instance.
// ...
// 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
Définissez les valeurs des paramètres dans un
GenerationConfig
lors de la création d'une GenerativeModel instance.
// ...
// 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
Définissez les valeurs des paramètres dans un
GenerationConfig
lors de la création d'une instance 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
Définissez les valeurs des paramètres dans un
GenerationConfig
lors de la création d'une GenerativeModel instance.
// ...
// 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
);
Vous trouverez une description de chaque paramètre dans la section suivante de cette page.
Configuration pour Gemini Live API
La configuration est conservée pendant toute la durée de vie de l'instance. Si vous souhaitez utiliser une autre configuration, créez une instance LiveModel avec cette configuration.
Swift
Définissez les valeurs des paramètres dans le
liveGenerationConfig
lors de l'initialisation de l'instance 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
Définissez les valeurs des paramètres dans un
LiveGenerationConfig
lors de la création d'une instance 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
Définissez les valeurs des paramètres dans un
LiveGenerationConfig
lors de la création d'une instance 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
Définissez les valeurs des paramètres dans le
LiveGenerationConfig
lors de l'initialisation de l'instance 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
Définissez les valeurs des paramètres dans un
LiveGenerationConfig
lors de la création d'une instance 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
Définissez les valeurs des paramètres dans un
LiveGenerationConfig
lors de la création d'une instance 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
);
// ...
Vous trouverez une description de chaque paramètre dans la section suivante de cette page.
Description des paramètres (Gemini)
Voici une présentation générale des paramètres disponibles, le cas échéant. Vous trouverez une liste complète des paramètres et de leurs valeurs dans la Gemini Developer API documentation.
| Paramètre | Description | Valeur par défaut |
|---|---|---|
Code temporel audioaudioTimestamp
|
Booléen qui active la compréhension des codes temporels pour les fichiers d'entrée audio uniquement fichiers. Ne s'applique que lorsque vous utilisez des appels |
false |
Nombre de candidatscandidateCount
|
Spécifie le nombre de variantes de réponse à renvoyer. Pour chaque requête, les jetons de sortie de tous les candidats vous sont facturés, mais vous ne payez qu'une seule fois pour les jetons d'entrée. Valeurs acceptées : Ne s'applique que lorsque vous utilisez |
1 |
Pénalité de fréquencefrequencyPenalty
|
Contrôle la probabilité d'inclure des jetons qui apparaissent de manière répétée dans
la réponse générée. Les valeurs positives pénalisent les jetons qui apparaissent de manière répétée dans le contenu généré, ce qui réduit la probabilité de répétition du contenu. |
--- |
Nombre maximal de jetons de sortiemaxOutputTokens
|
Spécifie le nombre maximal de jetons pouvant être générés dans la réponse. | --- |
Pénalité de présencepresencePenalty
|
Contrôle la probabilité d'inclure des jetons qui apparaissent déjà dans
la réponse générée. Les valeurs positives pénalisent les jetons qui apparaissent déjà dans le contenu généré ce qui augmente la probabilité de générer un contenu plus diversifié. |
--- |
Séquences d'arrêtstopSequences
|
Spécifie une liste de chaînes qui indiquent au modèle d'arrêter de générer du contenu si l'une des chaînes est détectée dans la réponse. Ne s'applique que lorsque vous utilisez une
configuration. |
--- |
Températuretemperature
|
Contrôle le degré de hasard dans la réponse. Des températures plus basses entraînent des réponses plus déterministes, tandis que des températures plus élevées entraînent des réponses plus diversifiées ou créatives. |
Dépend du modèle |
Top-KtopK
|
Limite le nombre de mots les plus probables utilisés dans le
contenu généré. Une valeur top-K de 1 signifie que le prochain jeton sélectionné doit être
le plus probable parmi tous les jetons du vocabulaire du modèle,
tandis qu'une valeur top-K de n signifie que le jeton suivant doit
être sélectionné parmi les n jetons les plus probables
(tous basés sur la température définie).
|
Dépend du modèle |
Top-PtopP
|
Contrôle la diversité du contenu généré. Les jetons sont sélectionnés en partant de la probabilité la plus forte (voir top-K ci-dessus) à la plus basse, jusqu'à ce que la somme de leurs probabilités soit égale à la valeur top-P. |
Dépend du modèle |
Modalité de réponseresponseModality
|
Spécifie le type de sortie diffusée lorsque vous utilisez le Live API ou la sortie multimodale native par un Gemini modèle, par exemple du texte, de l'audio ou des images. Ne s'applique que lorsque vous utilisez les modèles Live API ou un modèle Gemini capable de sortie multimodale. |
--- |
VoixspeechConfig
|
Spécifie la voix utilisée pour la sortie audio diffusée lorsque vous utilisez le Live API. Ne s'applique que lorsque vous utilisez les modèles Live API. |
Puck |
Configurer les modèles Imagen
|
Cliquez sur votre fournisseur Imagen API pour afficher le contenu spécifique au fournisseur et le code sur cette page. |
Cette section explique comment configurer une configuration à utiliser avec les Imagen modèles et fournit une description de chaque paramètre.
Configurer une configuration de modèle (Imagen)
La configuration est conservée pendant toute la durée de vie de l'instance. Si vous souhaitez utiliser une autre configuration, créez une instance ImagenModel avec cette configuration.
Swift
Définissez les valeurs des paramètres dans un
ImagenGenerationConfig
lors de la création d'une instance 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
Définissez les valeurs des paramètres dans un
ImagenGenerationConfig
lors de la création d'une instance 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
Définissez les valeurs des paramètres dans un
ImagenGenerationConfig
lors de la création d'une instance 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
Définissez les valeurs des paramètres dans un
ImagenGenerationConfig
lors de la création d'une instance 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
Définissez les valeurs des paramètres dans un
ImagenGenerationConfig
lors de la création d'une instance 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
Définissez les valeurs des paramètres dans un
ImagenGenerationConfig
lors de la création d'une instance 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
);
// ...
Vous trouverez une description de chaque paramètre dans la section suivante de cette page.
Description des paramètres (Imagen)
Voici une présentation générale des paramètres disponibles, le cas échéant. Vous trouverez une liste complète des paramètres et de leurs valeurs dans la Google Cloud documentation.
| Paramètre | Description | Valeur par défaut |
|---|---|---|
Requête négative
negativePrompt
|
Description de ce que vous ne voulez pas voir dans les images générées
Ce paramètre n'est pas encore compatible avec
|
--- |
Nombre de résultats
numberOfImages
|
Nombre d'images générées renvoyées pour chaque requête | La valeur par défaut est une image. |
Format
aspectRatio
|
Rapport entre la largeur et la hauteur des images générées | La valeur par défaut est carré (1:1). |
Format d'image
imageFormat
|
Options de sortie, telles que le format d'image (type MIME) et le niveau de compression des images générées | Le type MIME par défaut est PNG La compression par défaut est de 75 (si le type MIME est défini sur JPEG). |
Filigrane
addWatermark
|
Indique si un filigrane numérique non visible (appelé un SynthID) doit être ajouté aux images générées | La valeur par défaut est true.
|
Génération de personnes
personGeneration
|
Indique si la génération de personnes par le modèle est autorisée | La valeur par défaut dépend du modèle. |
Inclure les attributs de sécurité
includeSafetyAttributes
|
Indique si les scores d'IA responsable doivent être arrondis pour obtenir une liste d'attributs de sécurité
dans les réponses d'entrée et de sortie non filtrées Catégories d'attributs de sécurité :
|
La valeur par défaut est false. |
Autres options pour contrôler la génération de contenu
- Découvrez comment concevoir des requêtes prompt design pour influencer le modèle afin qu'il génère des résultats spécifiques à vos besoins.
- Utilisez les paramètres de sécurité pour ajuster la probabilité d'obtenir des réponses qui peuvent être considérées comme nuisibles, y compris les discours haineux et les contenus à caractère sexuel explicite.
- Définissez des instructions système pour orienter le comportement du modèle. Cette fonctionnalité s'apparente à un préambule que vous ajoutez avant que le modèle ne soit exposé à d'autres instructions de l'utilisateur final.
- Transmettez un schéma de réponse avec la requête pour spécifier un schéma de sortie spécifique. Cette fonctionnalité est le plus souvent utilisée lors de la génération de sorties JSON, mais elle peut également être utilisée pour les tâches de classification (par exemple, lorsque vous souhaitez que le modèle utilise des libellés ou des tags spécifiques).