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 ou la parole.
Pour la majorité des cas d'utilisation lors de l'accès à un modèle Gemini, vous configurez le modèle à 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 une description de chaque paramètre.
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 à ce fournisseur sur cette page. |
Définissez un GenerationConfig pour la majorité des modèles Gemini, y compris les modèles à usage général, les modèles de génération d'images (modèles "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 autre instance avec une configuration différente.
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.
// 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
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.
// 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
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.
// 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
Définissez les valeurs des paramètres dans un GenerationConfig lors de la création d'une instance 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
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.
// 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
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.
// 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
);
Vous trouverez une description de chaque paramètre dans la section suivante de cette page.
Vous pouvez tester des requêtes et des configurations de modèle à l'aide de Agent Studio.LiveGenerationConfig pour les modèles Gemini Live API
|
Cliquez sur votre fournisseur Gemini API pour afficher le contenu et le code spécifiques à ce 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 autre instance avec une configuration différente.
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: .agentPlatform(location: "us-central1")).liveModel(
modelName: "GEMINI_LIVE_MODEL_NAME",
generationConfig: config
)
// ...
Kotlin
Définissez les valeurs des paramètres dans un LiveGenerationConfig lorsque vous créez 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)
}
// 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
Définissez les valeurs des paramètres dans un LiveGenerationConfig lorsque vous créez 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));
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
Définissez les valeurs des paramètres dans LiveGenerationConfig lors de l'initialisation de l'instance 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
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'),
);
// 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
Définissez les valeurs des paramètres dans un LiveGenerationConfig lorsque vous créez 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.AgentPlatform(location: "us-central1")).GetLiveModel(
modelName: "GEMINI_LIVE_MODEL_NAME",
liveGenerationConfig: config
);
// ...
Vous trouverez une description de chaque paramètre dans la section suivante de cette page.
Vous pouvez tester des requêtes et des configurations de modèle à l'aide de Agent Studio.Description des paramètres
Le tableau suivant présente une vue d'ensemble des paramètres disponibles. Certains paramètres ne s'appliquent qu'à certains modèles.
Notez que la température, le top-K et le top-P sont obsolètes et ignorés par les derniers modèles Gemini.
| 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 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 : de
Ne s'applique que lorsque vous utilisez
Ne s'applique pas lorsque vous utilisez des modèles |
1
|
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 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. |
Non applicable aux modèles TTS. | --- |
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é. |
Non applicable aux modèles TTS. | --- |
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 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 (texte, audio ou images, par exemple). | Ne s'applique (et est obligatoire) qu'en cas d'utilisation des modèles d'images Gemini ("Nano Banana"), des modèles TTS et des modèles Live API. | --- |
Caractéristiques des imagesimageConfig
|
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 qu'aux modèles d'images Gemini (modèles "Nano Banana"). |
Format 1:1 (carré) Résolution 1 024 x 1 024 |
Voix speechConfig
|
Spécifie la voix utilisée pour la sortie audio. |
Ne s'applique que lorsque vous utilisez des modèles TTS et Live API. Requis pour les modèles TTS. |
Puck
|
Autres options pour contrôler la génération de contenu
- Découvrez la conception des requêtes pour influencer le modèle et générer des résultats spécifiques à vos besoins.
- Utilisez les paramètres de sécurité pour ajuster la probabilité de recevoir des réponses qui peuvent être considérées comme nuisibles, y compris celles incitant à la haine et celles à 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 des sorties JSON, mais elle peut également servir pour les tâches de classification (par exemple, lorsque vous souhaitez que le modèle utilise des libellés ou des tags spécifiques).