| Les exemples de cette page partent du principe que vous avez suivi la section Premiers pas : accéder à Gemini API via le framework Foundation Models d'Apple. |
Dans chaque requête envoyée à un modèle, vous pouvez inclure des paramètres de configuration pour contrôler la manière dont le modèle génère une réponse. Chaque modèle Gemini propose différentes options de configuration.
Selon le paramètre, la configuration est conservée pendant toute la durée de vie de geminiLanguageModel ou de LanguageModelSession. Si vous souhaitez utiliser une autre configuration, créez un modèle ou une session avec cette configuration.
Cette page décrit les options de configuration suivantes :
Spécifier des instructions système
Les instructions système sont comme un "préambule" que vous ajoutez avant que le modèle ne soit exposé à d'autres instructions de l'utilisateur final. Elles vous permettent d'orienter le comportement du modèle en fonction de vos besoins et de vos cas d'utilisation spécifiques.
Spécifiez les instructions système sur LanguageModelSession :
// ...
// Make sure you initialize your chosen Gemini API backend service
let model = FirebaseAI.firebaseAI().geminiLanguageModel(name: "GEMINI_MODEL_NAME")
// Specify the system instructions as part of creating the session
let session = LanguageModelSession(
model: model,
instructions: "You are a cat. Your name is Neko."
)
// ...
Configurer la réflexion (ou le raisonnement)
Vous pouvez configurer la quantité de réflexion (également appelée raisonnement) qu'un modèle Gemini peut effectuer pour générer sa réponse. Pour en savoir plus sur la réflexion, les bonnes pratiques et les cas d'utilisation, consultez le guide général Réflexion.
Au lieu de niveau de réflexion, Apple utilise niveau de raisonnement. Vous définissez le reasoningLevel dans ContextOptions sur chaque requête via un LanguageModelSession :
// ...
// Make sure you initialize your chosen Gemini API backend service
let model = FirebaseAI.firebaseAI().geminiLanguageModel(name: "GEMINI_MODEL_NAME")
let session = LanguageModelSession(model: model)
// Specify the reasoning level when generating a response
// Possible reasoningLevels: .light, .moderate, .deep, .custom("minimal")
let response = try await session.respond(
to: "Write a story about a magic backpack.",
contextOptions: ContextOptions(reasoningLevel: .REASONING_LEVEL)
)
// ...
Valeurs acceptées pour le niveau de réflexion
Veuillez noter les points suivants :
- Les modèles Gemini 3.x utilisent toujours le raisonnement. Vous ne pouvez pas le désactiver pour ces modèles.
- Les modèles Gemini 3.x utilisent toujours la réflexion dynamique. Le modèle décide quand et combien il réfléchit, jusqu'au montant configuré.
Le tableau suivant liste les niveaux de réflexion (reasoningLevel) que vous pouvez définir pour chaque modèle Gemini. Notez que si vous utilisez une valeur Gemini (MINIMAL, LOW, MEDIUM, HIGH), elle sera automatiquement mappée à la version Apple de cette valeur.
Apple : .custom("minimal")Gemini : MINIMAL
|
Apple : .lightGemini : LOW
|
Apple : .moderateGemini : MEDIUM
|
Apple : .deepGemini : HIGH
|
|
|---|---|---|---|---|
|
Le modèle utilise le moins de jetons possible, avec une réflexion quasi nulle. Tâches à faible complexité |
Le modèle utilise moins de jetons, ce qui minimise la latence et les coûts. Tâches simples et tâches à haut débit |
Le modèle utilise une approche équilibrée Tâches de complexité modérée |
Le modèle utilise des jetons jusqu'à son niveau maximal. Requêtes complexes nécessitant un raisonnement approfondi |
|
gemini-3.1-pro-preview |
(par défaut) | |||
gemini-3.5-flash |
(par défaut) | |||
gemini-3.1-flash-lite |
(par défaut) | |||
gemini-3-pro-image-preview ("Nano Banana Pro") |
(par défaut) | |||
gemini-3.1-flash-image-preview ("Nano Banana 2") |
(par défaut) |