Vous pouvez créer des applications et des fonctionnalités Apple optimisées par l'IA avec l'inférence hybride à l'aide de Firebase AI Logic. L'inférence hybride permet d'exécuter l'inférence à l'aide de modèles on-device (en particulier le framework Foundation Models d'Apple) lorsqu'ils sont disponibles, et de basculer de manière fluide vers des modèles Google hébergés dans le cloud dans le cas contraire (et inversement).
Cette page explique comment faire vos premiers pas avec le SDK client et présente des options de configuration et fonctionnalités supplémentaires, comme la température.
Notez que l'inférence sur l'appareil via Firebase AI Logic est compatible avec les applications Apple utilisant le SDK Firebase AI Logic v12.13.0 ou version ultérieure et s'exécutant sur des appareils sur lesquels Apple Intelligence est activé. Il est régi par les exigences d'utilisation acceptable pour le framework des modèles de fondation d'Apple.
Cas d'utilisation recommandés
L'utilisation d'un modèle sur l'appareil pour l'inférence offre les avantages suivants :
- Confidentialité renforcée
- Inférence sans frais
- Fonctionnalités hors connexion
L'utilisation de la fonctionnalité hybride offre les avantages suivants :
- Offrir à tous les clients une expérience similaire dans l'application, quel que soit l'appareil de l'utilisateur final
- Améliorer la disponibilité des fonctionnalités d'IA générative, indépendamment de la connectivité Internet, des limites de quota ou des capacités de l'appareil
Fonctionnalités, API et appareils compatibles
Avant d'implémenter l'inférence hybride et sur l'appareil à l'aide de Firebase AI Logic, consultez cette section pour comprendre ce qui est compatible avec les applications Apple.
Fonctionnalités compatibles pour l'inférence sur l'appareil
L'inférence sur l'appareil n'est compatible qu'avec la génération de texte, en particulier les fonctionnalités de génération de texte suivantes :
Assurez-vous de consulter la liste détaillée des inférences hybrides ou sur l'appareil qui ne sont pas encore prises en charge au bas de cette page.
API et appareils compatibles
L'inférence dans le cloud utilise le fournisseur Gemini API de votre choix (Gemini Developer API ou Agent Platform Gemini API (formerly Vertex AI)).
L'inférence sur l'appareil utilise le framework Foundation Models d'Apple, qui n'est disponible que sur les appareils sur lesquels Apple Intelligence est activé. Le modèle on-device est automatiquement téléchargé lorsque Apple Intelligence est activé.
Commencer
Assurez-vous d'avoir consulté la section ci-dessus décrivant les fonctionnalités, les API et les appareils compatibles.
Ces étapes de démarrage décrivent la configuration générale requise pour toute requête de prompt compatible que vous souhaitez envoyer.
Étape 1 : Configurez un projet Firebase et associez votre application à Firebase
Connectez-vous à la console Firebase, puis sélectionnez votre projet Firebase.
Dans la console Firebase, accédez à Services d'IA > Logique d'IA.
Cliquez sur Commencer pour lancer un workflow guidé qui vous aide à configurer les API requises et les ressources de votre projet.
Si vous y êtes invité, suivez les instructions à l'écran pour enregistrer votre application et ajouter votre configuration Firebase à votre application.
Lorsque vous êtes invité à choisir un "fournisseur d'API Gemini", nous vous recommandons de sélectionner l'API Gemini Developer, qui vous permet de commencer rapidement et sans frais.
Vous pourrez toujours configurer Agent Platform Gemini API (formerly Vertex AI) (et ses exigences de facturation) ultérieurement.
Poursuivez le workflow pour configurer les API requises et les services associés pour Firebase AI Logic.
À partir de début juillet 2026, cette étape du workflow appliquera automatiquement Firebase App Check pour AI Logic, un service essentiel pour protéger Gemini API lorsqu'il est accessible directement depuis votre application. Pour commencer (voir les étapes plus loin dans ce guide), vous devrez configurer le fournisseur de débogage App Check pour le développement local lorsque App Check est appliqué.
Passez à l'étape suivante de ce guide pour ajouter les SDK requis à votre application.
Étape 2 : Ajouter les SDK nécessaires
Utilisez Swift Package Manager (SPM) pour installer et gérer les dépendances Xcode. L'assistance hybride n'est disponible que lorsque vous utilisez SPM.
La bibliothèque Firebase AI Logic permet d'accéder aux API pour interagir avec les modèles génératifs. La bibliothèque est incluse dans le SDK Firebase pour les plates-formes Apple (firebase-ios-sdk).
Si vous utilisez déjà Firebase, assurez-vous que votre package Firebase est de version 12.13.0 ou ultérieure.
Dans Xcode, à partir de votre projet d'application ouvert, accédez à File > Add Package Dependencies (Fichier > Ajouter des dépendances de package).
Lorsque vous y êtes invité, ajoutez le dépôt du SDK des plates-formes Firebase pour Apple :
https://github.com/firebase/firebase-ios-sdkSélectionnez la dernière version du SDK.
Sélectionnez les bibliothèques
FirebaseAILogicetFirebaseAppCheck.
Une fois que vous avez terminé, Xcode commence automatiquement à résoudre et à télécharger vos dépendances en arrière-plan.
Étape 3 : Configurer le fournisseur de débogage App Check pour le développement local
À partir de début juillet 2026, dans le cadre du workflow de configuration guidée de AI Logic dans la console, Firebase App Check est automatiquement appliqué pour protéger Gemini API. Pour le développement local, vous devez configurer le fournisseur de débogage App Check afin de contourner l'attestation tout en maintenant l'application de App Check.
Voici comment utiliser le fournisseur de débogage lorsque vous exécutez votre application de manière interactive dans un simulateur (par exemple, lors du développement local) :
Dans votre projet Xcode, importez
FirebaseAppChecket initialisez App Check avec la fabrique de fournisseurs de débogage avant de configurerFirebase.import SwiftUI import FirebaseCore import FirebaseAppCheck @main struct YourApp: App { init() { let providerFactory = AppCheckDebugProviderFactory() AppCheck.setAppCheckProviderFactory(providerFactory) FirebaseApp.configure() } var body: some Scene { WindowGroup { NavigationView { ContentView() } } } }Obtenez votre jeton de débogage :
Lancez votre application dans le simulateur ou sur votre appareil de test.
Ouvrez la console Xcode et recherchez le jeton de débogage App Check. Exemple :
<Warning> [AppCheckCore][I-GAC004001] App Check debug token: '123a4567-b89c-12d3-e456-789012345678'.Copiez le jeton (par exemple,
123a4567-b89c-12d3-e456-789012345678).
Enregistrez votre jeton de débogage avec App Check :
Dans la console Firebase, accédez à Sécurité > App Check > onglet Applications.
Recherchez votre application, cliquez sur le menu à développer (), puis sélectionnez Gérer les jetons de débogage.
Suivez les instructions à l'écran pour enregistrer votre jeton de débogage.
Pour en savoir plus sur le fournisseur de débogage (y compris sur la façon d'obtenir un nouveau jeton de débogage), consultez la documentation officielle de App Check.
Étape 4 : Initialisez le service et créez une instance de session de modèle
|
Cliquez sur votre fournisseur Gemini API pour afficher le contenu et le code spécifiques au fournisseur sur cette page. |
Configurez les éléments suivants avant d'envoyer une requête de prompt au modèle.
Initialisez le service pour le fournisseur Gemini API de votre choix.
Créez une instance
GenerativeModelSessionavec unHybridModel.Définissez les modèles
primaryetsecondaryen fonction de vos préférences. Vous pouvez définir l'ordre des tentatives d'inférence :Tenter d'abord l'inférence sur l'appareil, mais autoriser le remplacement par le cloud : définissez
primarysur un modèle "système" etsecondarysur un modèle cloud.Tenter d'abord l'inférence dans le cloud, mais autoriser le remplacement sur l'appareil : définissez
primarysur un modèle cloud etsecondarysur un modèle "système".
Notez que le SDK ne permet de définir qu'un seul
model, ce qui signifie qu'il ne tentera qu'une inférence sur l'appareil ou dans le cloud. Toutefois, pour une expérience hybride, vous devez créer unHybridModelet définir les modèlesprimaryetsecondary.Pour en savoir plus sur le comportement des "modes d'inférence" (l'ordre des tentatives d'inférence), consultez Options de configuration.
L'exemple suivant montre comment tenter d'abord l'inférence sur l'appareil, mais autoriser le recours au modèle hébergé dans le cloud :
// Initialize the Gemini Developer API backend service.
let ai = FirebaseAI.firebaseAI(backend: .googleAI())
// Initialize a cloud model that supports your use case.
let cloudModel = ai.geminiModel(name: "GEMINI_MODEL_NAME")
// Initialize an on-device model that supports your use case.
let systemModel = FirebaseAI.SystemLanguageModel.default
// Create a Hybrid Model.
// Provide your preferred model as `primary` and your fallback model as `secondary`.
// In this example, attempt to use on-device model; otherwise, fall back to cloud.
let hybridModel = HybridModel(
primary: systemModel,
secondary: cloudModel
)
// Create a GenerativeModelSession with the HybridModel created earlier.
let session = firebaseAI.generativeModelSession(
model: hybridModel,
)
Étape 5 : Envoyer une requête de prompt à un modèle
Cette section vous explique comment :
Générer du texte à partir d'une entrée textuelle
| Avant d'essayer cet exemple, assurez-vous d'avoir suivi les étapes de la section Premiers pas de ce guide. |
Pour générer du texte à partir d'un prompt contenant du texte, utilisez respond(to:) comme suit :
// Imports + initialization of Gemini API backend service + creation of model session
// Provide a prompt that contains text
let prompt = "Write a story about a magic backpack."
// To generate text output, call `respond(to:)` with the text input
let response = try await session.respond(to: prompt)
print(response.content)
Diffuser du texte en streaming à partir d'une entrée textuelle uniquement
| Avant d'essayer cet exemple, assurez-vous d'avoir suivi les étapes de la section Premiers pas de ce guide. |
Vous pouvez accélérer les interactions en n'attendant pas le résultat complet de la génération du modèle, mais en utilisant le streaming pour gérer les résultats partiels. Pour diffuser en continu du texte généré à partir d'un prompt contenant du texte, utilisez streamResponse(to:) comme suit :
// Imports + initialization of Gemini API backend service + creation of model session
// Provide a prompt that contains text
let prompt = "Write a story about a magic backpack."
// To stream generated text output, call `streamResponse(to:)` with the text input
let stream = session.streamResponse(to: prompt)
for try await snapshot in stream {
print(snapshot.content)
}
Qu'est-ce que tu sais faire d'autre ?
Vous pouvez utiliser différentes options et fonctionnalités de configuration supplémentaires pour vos expériences hybrides :
Déterminez si l'inférence a été effectuée sur l'appareil ou dans le cloud.
Utilisez la configuration du modèle pour contrôler les réponses (comme la température).
Fonctionnalités non encore compatibles avec l'inférence hybride ou sur l'appareil
Comme il s'agit d'une version expérimentale, toutes les fonctionnalités de Firebase AI Logic ou des modèles hébergés dans le cloud ne sont pas prises en charge.
Les éléments suivants ne sont pas compatibles avec les implémentations hybrides ou on-device : les modèles de prompt Gemini Live API et de serveur. De plus, vous ne devez pas vous fier au nombre de jetons, car il diffère entre les modèles hébergés dans le cloud et les modèles on-device. Il n'existe donc pas de solution de secours intuitive.
Les fonctionnalités suivantes ne sont pas encore compatibles avec l'inférence sur l'appareil. Si vous souhaitez utiliser l'une de ces fonctionnalités, nous vous recommandons d'utiliser uniquement un modèle hébergé dans le cloud pour une expérience plus cohérente.
Générer du texte à partir d'entrées multimodales, telles que des images, des fichiers audio, des vidéos et des documents (PDF)
Générer des contenus multimédias, comme des images, des contenus audio ou des vidéos
Envoi de requêtes dépassant 4 096 jetons (soit environ 3 000 mots en anglais).
Fournir au modèle on-device des outils intégrés pour l'aider à générer sa réponse (comme l'exécution de code, le contexte de l'URL et l'ancrage avec la Recherche Google)
La surveillance de l'IA dans la console Firebase n'affiche aucune donnée pour l'inférence sur l'appareil (y compris les journaux sur l'appareil). Toutefois, toute inférence utilisant un modèle hébergé dans le cloud peut être surveillée comme n'importe quelle autre inférence via Firebase AI Logic.
Autres limites
En plus de ce qui précède, l'inférence sur l'appareil présente les limites suivantes :
L'utilisateur final de votre application doit utiliser un appareil sur lequel Apple Intelligence est activé.
Votre application ne peut exécuter l'inférence sur l'appareil que lorsqu'elle est au premier plan.
Envoyer des commentaires sur votre expérience avec Firebase AI Logic