Options de configuration lorsque vous accédez à l'API Gemini via le framework Foundation Models d'Apple


Les exemples de cette page partent du principe que vous avez suivi la procédure Premiers pas : Accéder à l'API Gemini API via le framework Foundation Models d'Apple.


Dans chaque requête adressée à un modèle, vous pouvez envoyer des paramètres de configuration pour contrôler la manière dont le modèle génère une réponse. Chaque Gemini modèle propose différentes options de configuration.

Selon le paramètre, la configuration est conservée pendant la durée de vie de geminiLanguageModel ou de LanguageModelSession. Si vous souhaitez utiliser une configuration différente, 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 cas d'utilisation spécifiques.

Spécifiez des 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 "raisonnement")

Vous pouvez configurer le niveau de réflexion (également appelé raisonnement) qu'un Gemini modèle peut effectuer pour générer sa réponse. Pour en savoir plus, découvrir les bonnes pratiques et consulter des cas d'utilisation concernant la réflexion, consultez le guide général sur la réflexion.

Au lieu de niveau de réflexion, Apple utilise niveau de raisonnement. Vous définissez reasoningLevel dans ContextOptions pour chaque requête via une 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 de niveau de réflexion acceptées

Veuillez noter les points suivants :

  • Les modèles Gemini 3.x utilisent toujours la réflexion. Vous ne pouvez pas la désactiver ou l' arrêter pour ces modèles.
  • Les modèles Gemini 3.x utilisent toujours la réflexion dynamique : le modèle décide quand et dans quelle mesure il réfléchit, jusqu'à la quantité configurée.

Le tableau suivant répertorie les niveaux de réflexion (reasoningLevel) que vous pouvez définir pour chaque Gemini modèle. Notez que si vous utilisez une Gemini valeur (MINIMAL, LOW, MEDIUM, HIGH), elle sera automatiquement mappée à la version Apple de cette valeur.

Apple: .custom("minimal")
Gemini: MINIMAL
Apple : .light
Gemini : Gemini : LOW
Apple: .moderate
Gemini: MEDIUM
Apple: .deep
Gemini: HIGH

Le modèle utilise le moins de jetons possible, avec une réflexion quasi nulle.

Tâches peu complexes

Le modèle utilise moins de jetons, ce qui réduit 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.x Pro
gemini-3.1-pro-preview
(par défaut)
Gemini 3.x Flash
gemini-3.7-flash
gemini-3.6-flash
gemini-3.5-flash

non disponible avec gemini-3.7-flash 1
(par défaut)
Gemini 3.x Flash‑Lite
gemini-3.5-flash-lite
gemini-3.1-flash-lite
(par défaut)
Gemini 3.x Pro Image
gemini-3-pro-image
("Nano Banana Pro")
(par défaut)
Gemini 3.x Flash Image
gemini-3.1-flash-image
("Nano Banana 2")
(par défaut)
Gemini 3.x Flash‑Lite Image
gemini-3.1-flash-lite-image
("Nano Banana 2 Lite")
(par défaut)

1 gemini-3.7-flash n'est pas compatible avec le niveau de réflexion MINIMAL. Si vous définissez le niveau de réflexion sur MINIMAL, la requête échouera avec une erreur 400.



Configurer la sortie d'image



Configuration générale


Envoyer des commentaires sur l'accès à l'Gemini API via le framework Foundation Models d'Apple