Dans chaque appel à un modèle, vous pouvez envoyer une configuration de modèle pour contrôler la manière dont le modèle génère une réponse. Chaque modèle accepte différentes options de configuration, comme la définition de maxOutputTokens ou des configurations spécialisées pour la réflexion, les modalités de réponse, les images, la reconnaissance vocale ou la détection de l'activité vocale (VAD).
Pour la plupart des cas d'utilisation, lorsque vous accédez à un modèle Gemini, vous le configurez à l'aide de GenerationConfig. Toutefois, si vous configurez un modèle Gemini Live API, vous devez utiliser LiveGenerationConfig.
Cette page explique comment configurer les modèles Gemini et fournit un tableau des paramètres disponibles.
Accéder à la configuration Gemini Accéder à la configuration Gemini Live API
GenerationConfig pour les modèles Gemini
|
Cliquez sur votre fournisseur Gemini API pour afficher le contenu et le code spécifiques au fournisseur sur cette page. |
Définissez un GenerationConfig pour la majorité des modèles génératifs Gemini, y compris les modèles à usage général, les modèles de génération d'images (Nano Banana) et les modèles de synthèse vocale (TTS).
La configuration est conservée pendant toute la durée de vie de l'instance GenerativeModel. Si vous souhaitez utiliser une autre configuration, créez et utilisez une nouvelle instance avec une autre configuration.
L'exemple suivant montre une configuration de modèle très simple. Pour connaître les options supplémentaires (en particulier pour les modèles spécialisés), consultez le tableau des paramètres disponibles plus loin sur cette page.
Swift
Définissez les valeurs des paramètres dans un GenerationConfig lors de la création d'une instance 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
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.
// 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
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.
// 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
Définissez les valeurs des paramètres dans un GenerationConfig lors de la création d'une instance 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
Définissez les valeurs des paramètres dans un fichier 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.
// 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
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.
// 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 pour les modèles Gemini Live API
|
Cliquez sur votre fournisseur Gemini API pour afficher le contenu et le code spécifiques au fournisseur sur cette page. |
Définissez un LiveGenerationConfig uniquement lorsque vous utilisez des modèles Gemini Live API.
La configuration est conservée pendant toute la durée de vie de l'instance LiveModel. Si vous souhaitez utiliser une autre configuration, créez et utilisez une nouvelle instance avec une autre configuration.
L'exemple suivant montre une configuration de modèle très simple. Pour connaître les autres options (comme la configuration de la détection de l'activité vocale), consultez le tableau des paramètres disponibles plus loin sur cette page.
Swift
Définissez les valeurs des paramètres dans liveGenerationConfig lors de l'initialisation de l'instance 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
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 = 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
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(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
Définissez les valeurs des paramètres dans LiveGenerationConfig lors de l'initialisation de l'instance 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
Définissez les valeurs des paramètres dans un fichier 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'),
);
// 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")
);
// 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
);
// ...
Paramètres de modèle disponibles
Le tableau suivant présente les paramètres disponibles pour la configuration du modèle. Certains paramètres ne s'appliquent qu'à certains modèles.
| Paramètre | Description | Limites | Valeur par défaut |
|---|---|---|---|
Code temporel audioaudioTimestamp
|
Active la compréhension des codes temporels pour les fichiers d'entrée contenant uniquement des données audio. |
Booléen
Ne s'applique que lorsque vous utilisez une configuration |
false
|
Nombre maximal de jetons de sortiemaxOutputTokens
|
Spécifie le nombre maximal de jetons pouvant être générés dans la réponse.
Pour |
--- | --- |
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 Non applicable aux modèles Nano Banana ou TTS. |
--- |
| Configurations spécialisées | |||
RéflexionthinkingConfig
|
Contrôle le "processus de réflexion" des modèles lorsqu'ils génèrent une réponse.
|
Valeurs acceptées : consultez la documentation sur la réflexion. Non applicable aux modèles TTS.
Firebase AI Logic ne permet pas encore de définir un |
Dépend du modèle |
Modalités de réponseresponseModalities
|
Spécifie le type de sortie (comme du texte, de l'audio ou des images). | Applicable (et obligatoire) uniquement lors de l'utilisation des modèles Nano Banana, TTS et Live API. | --- |
Caractéristiques de l'imageimageConfig
|
Spécifie le format et la résolution des images générées. |
Valeurs acceptées : consultez Configurer la génération d'images. Ne s'applique que lorsque vous utilisez des modèles Nano Banana. |
Format 1:1 (carré) Résolution : 1 024 x 1 024 |
VoixspeechConfig
|
Spécifie la voix utilisée pour la sortie audio. |
Ne s'applique que lorsque vous utilisez des modèles TTS et des modèles Live API. Obligatoire pour les modèles TTS. |
Puck
|
Détection de l'activité vocale (VAD)realtimeInputConfig
|
Configure la détection de l'activité vocale (VAD), la gestion des interruptions et la couverture du contexte de tour, ou désactive la VAD automatique. |
Valeurs acceptées : consultez Configurer la détection d'activité vocale. Ne s'applique que lorsque vous utilisez des modèles Live API. |
VAD activé Consultez les valeurs par défaut pour les paramètres individuels. |
Autres options pour contrôler la génération de contenu
- Découvrez comment concevoir des requêtes afin d'influencer le modèle pour qu'il génère des résultats adaptés à vos besoins.
- Utilisez les paramètres de sécurité pour ajuster la probabilité d'obtenir des réponses pouvant être considérées comme nuisibles, y compris l'incitation à la haine et le contenu à caractère sexuel explicite.
- Définissez des instructions système pour orienter le comportement du modèle. Cette fonctionnalité est semblable à 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 le prompt pour spécifier un schéma de sortie spécifique. Cette fonctionnalité est le plus souvent utilisée pour générer une sortie JSON, mais elle peut également être utilisée pour des tâches de classification (par exemple, lorsque vous souhaitez que le modèle utilise des étiquettes ou des tags spécifiques).