Trouver la solution d'IA/ML adaptée à votre fonctionnalité

Ce guide vous aide à trouver la solution d'IA/de ML adaptée à votre cas d'utilisation. Il fournit des conseils pour vous aider à parcourir les différentes solutions disponibles et à choisir celle qui correspond le mieux à vos besoins, compte tenu des exigences de la fonctionnalité que vous souhaitez implémenter.

En général, lorsque vous choisissez des outils et des modèles pour implémenter votre fonctionnalité d'IA/ML, vous devez utiliser le modèle le plus simple qui répond à vos besoins. Pour identifier la solution optimale, vous devez réfléchir aux points suivants :

  • La fonctionnalité doit-elle générer du nouveau contenu (IA générative) ou prédire/catégoriser de manière déterministe (ML traditionnel) ?
  • Portée de la fonctionnalité : la tâche peut-elle être effectuée entièrement dans votre application (intelligence intégrée) ou nécessite-t-elle plusieurs applications (intelligence au niveau du système) ?
  • Emplacement du modèle : la tâche peut-elle être effectuée hors connexion (modèle sur l'appareil) ou nécessite-t-elle une interaction avec un serveur (modèle dans le cloud) ?
  • Version du kit d'outils ou du modèle : quel est le niveau de complexité de la tâche, des tâches d'inférence simples aux orchestrations multi-agents ?

L'organigramme suivant illustre le processus de décision à un niveau général :

Oui Non Oui Non Oui Non Oui Pas toutes Oui Non Fonctionnalité Devez-vous générer du contenu (plutôt que prédire ou classer des données) ? IA générative S'agit-il d'une tâche inter-applications ? ML traditionnel Intelligence système Utiliser AppFunctions Intelligence intégrée La fonctionnalité peut-elle s'exécuter hors connexion ou avez-vous des contraintes de coût ? Les appareils cibles prennent-ils en charge les modèles sur l'appareil ? La fonctionnalité doit-elle continuer à s'exécuter (l'état doit être conservé) lorsque l'application est fermée, ou avez-vous besoin d'un accès à une base de données privée ? Modèle sur l'appareil Utilisez Gemini Nano via ML Kit ou LiteRT Approche hybride Privilégiez les modèles sur l'appareil, mais utilisez des modèles cloud comme solution de remplacement Modèle basé sur le cloud Utilisez un serveur auto-hébergé personnalisé Modèle basé sur le cloud Utilisez un backend géré via Firebase AI Logic
Figure 1. Processus de prise de décision de haut niveau pour choisir une solution d'IA/de ML.

Pour vous aider à prendre une décision à chaque étape, reportez-vous aux sections du reste de ce document.

IA générative et ML traditionnel

Les modèles d'IA générative créent du contenu, tandis que les modèles de ML traditionnels prédisent des résultats ou catégorisent des données de manière complètement déterministe. Si votre fonctionnalité n'implique pas la génération de nouveaux contenus, les solutions de ML traditionnelles peuvent suffire. Le tableau suivant récapitule quelques solutions de ML traditionnelles :

Kit d'outils/Solution Type Cas d'utilisation principal Exemples
SDK ML Kit Traitement sur l'appareil Tâches de vision et de traitement du langage naturel prédéfinies
  • Scanner de reçus OCR
  • Enregistrement rapide aux événements par QR code
  • Traduction de menus hors connexion
LiteRT Traitement sur l'appareil Environnements d'exécution de modèles personnalisés
  • Classification d'images médicales
  • Prédiction de mots par le clavier intelligent pour des sujets de niche
MediaPipe Traitement sur l'appareil Tâches de perception de flux vidéo ou audio en temps réel
  • Coaching en temps réel pour les postures d'entraînement
  • Filtres et effets faciaux
  • Reconnaissance de gestes de la main
Les API Google Cloud, y compris l'API Cloud Vision et l'API Cloud Natural Language Dans le cloud Tâches de vision et de traitement du langage naturel prédéfinies
  • Sous-titrage vidéo automatisé
  • Contrôle qualité et conformité des images
Agent Platform Dans le cloud Entraînement et déploiement de modèles personnalisés de bout en bout
  • Reconnaissance d'image spécialisée à grande échelle
  • Recherche dans les banques de photos

Le reste de ce document concerne les solutions d'IA générative.

Intelligence au niveau de l'application ou du système

Pour identifier la meilleure solution d'IA générative, déterminez si votre fonctionnalité d'IA fonctionne entièrement dans votre application ou si elle nécessite d'interagir avec d'autres applications ou l'OS Android, en dehors de toute application. Si votre fonctionnalité est déclenchée par le système, en dehors de toute application, elle est considérée comme une intelligence au niveau du système. Le tableau suivant récapitule les différences entre les fonctionnalités d'intelligence intégrées aux applications et celles au niveau du système :

Intelligence artificielle intégrée aux applications Intelligence au niveau du système
Champ d'application de la tâche Dans l'application Dans plusieurs applications (ou déclenchées par le système, en dehors de toute application)
Outils SDK ML Kit, LiteRT, Firebase AI Logic ou backend auto-hébergé AppFunctions
Cas d'utilisation
  • Résumer, relire ou transcrire du texte
  • Décrire les images
  • Créer un chatbot intégré à l'application
  • Générer des images
  • Créer une liste de courses dans une appli de livraison à partir de ce que vous avez écrit dans un document de notes
  • Réservez une course pour vous rendre au bureau et envoyez un message à votre collègue pour lui indiquer votre heure d'arrivée prévue
  • Trouver une recommandation de restaurant dans votre boîte de réception et réserver une table

Intelligence artificielle intégrée aux applications

Les fonctionnalités d'intelligence intégrées à l'application n'ont pas besoin d'interagir avec d'autres applications ou le système au-delà de l'application. Une fois que vous avez déterminé que votre fonctionnalité d'IA est entièrement intégrée à l'application, vous devez décider si vous pouvez l'exécuter entièrement sur l'appareil, utiliser un modèle dans le cloud ou adopter une approche hybride qui combine les deux.

Si vous effectuez une opération nécessitant une entrée vidéo ou des tâches impliquant plusieurs agents, vous devez utiliser un modèle dans le cloud. Le tableau suivant compare les fonctionnalités des modèles sur l'appareil et des modèles cloud :

Traitement sur l'appareil Cloud
Outils SDK ML Kit ou LiteRT Firebase AI Logic ou backend auto-hébergé
Type d'entrée
  • Texte
  • Image
  • Audio
  • Texte
  • Image
  • Audio
  • Vidéo
Type de sortie
  • Texte
  • Texte
  • Image
  • Audio
Sensibilité des données utilisateur Plus élevé Inférieur
Modèles
  • Gemma
  • Gemini Nano
  • Gemini Flash
  • Gemini Flash-Lite
  • Gemini Pro
Cas d'utilisation
  • Traiter du contenu court, par exemple résumer, relire ou réécrire un court message de chat ou un e-mail
  • Décrire les images
  • Personnaliser les résultats pour les utilisateurs en fonction de leurs centres d'intérêt
  • Gérer les données utilisateur sensibles
  • Transcrire un court extrait audio
  • Créer un chatbot
  • Générer des images
  • Traduis les conversations en temps réel
  • Retouche photo dans l'application
  • Tâches multi-agents

Modèles sur l'appareil

Les modèles sur l'appareil sont probablement préférables si l'une des conditions suivantes s'applique :

  • Contraintes de coût
  • La fonctionnalité doit pouvoir s'exécuter hors connexion
  • Exigences de confidentialité
  • La tâche à accomplir est relativement simple et ne nécessite pas d'orchestration multi-agent.

N'oubliez pas que les appareils de vos utilisateurs doivent être compatibles avec les modèles sur l'appareil. Les modèles sur l'appareil nécessitent généralement des appareils plus haut de gamme capables de prendre en charge le traitement local.

Une fois que vous avez déterminé que les modèles sur l'appareil sont suffisants pour votre fonctionnalité, le kit d'outils ou la solution optimale dépend principalement de la complexité de la tâche. Le tableau suivant récapitule les options d'outils d'IA générative sur l'appareil et intégrés à l'application :

Complexité de la tâche Caractéristiques de la fonctionnalité Exemple Toolkit/Solution
Faible
  • Inférence unique
  • Génération pure
Résumer du texte
Moyenne
  • LLM augmenté
  • Appel de fonction
  • Historique des conversations
Requête et réponse
Élevée
  • Boucle d'agent unique, qui se répète jusqu'à ce que la tâche soit terminée
Commentaires des clients ou tri des bugs

Utilisez l'API Prompt de ML Kit pour générer du texte conversationnel simple à un ou plusieurs tours. Lorsque votre fonctionnalité nécessite une exécution autonome en plusieurs étapes sur l'appareil, utilisez l'API ML Kit GenAI Agent. L'API Agent accepte les boucles de raisonnement sur l'appareil qui peuvent planifier, appeler des outils typés à l'aide d'annotations @Tool, conserver le contexte de session entre les interactions et appliquer des limites de tours à l'aide de maxTurns.

Modèles basés sur le cloud

Si votre fonctionnalité ne peut pas être exécutée entièrement sur l'appareil, vous devez utiliser un modèle dans le cloud. Il existe deux options principales pour utiliser un modèle dans le cloud :

  • Backend géré à l'aide de Firebase AI Logic. Si vous êtes déjà un utilisateur Firebase ou si vous souhaitez prototyper quelque chose relativement rapidement, Firebase AI Logic est probablement la meilleure solution.

  • Backend personnalisé ou serveur autohébergé. Si vous souhaitez utiliser des modèles autres que Gemini, si vous avez des exigences strictes en matière de confidentialité ou si vous devez effectuer une tâche très complexe, vous devrez probablement utiliser un backend personnalisé. Nous vous recommandons également les outils suivants pour la configuration du backend personnalisé :

    • Faites en sorte que votre backend personnalisé exécute un framework agentique tel que Agent Development Kit.
    • Connecter l'interface de l'application au backend agentique à l'aide d'AG-UI
    • Permettez aux agents de générer des UI riches et interactives à l'aide d'A2UI.

Le tableau suivant indique quand utiliser Firebase AI Logic ou un backend personnalisé pour les outils d'IA générative intégrés à l'application et dans le cloud :

Complexité de la tâche Caractéristiques de la fonctionnalité Exemple Toolkit/Solution
Faible
  • Inférence unique
  • Génération pure
Résumer du texte
  • Firebase AI Logic
  • Backend personnalisé
Moyenne
  • LLM augmenté
  • Appel de fonction
  • Historique des conversations
Requête et réponse
  • Firebase AI Logic
  • Backend personnalisé
Élevée
  • Boucle d'agent unique, qui se répète jusqu'à ce que la tâche soit terminée
Commentaires des clients ou tri des bugs
  • Backend personnalisé
Très élevé
  • Orchestration multi-agent
Créer une équipe d'agents pour gérer différents aspects d'un voyage
  • Backend personnalisé

Approche hybride

Utilisez une approche hybride lorsque votre fonctionnalité peut s'exécuter localement, mais que tous vos utilisateurs ne disposent pas d'appareils compatibles avec les modèles sur l'appareil et que vous devez utiliser des modèles cloud comme solution de secours. Pour en savoir plus, consultez Inférence hybride.

Intelligence au niveau du système

L'intelligence au niveau du système permet à la plate-forme Android d'agir en tant qu'orchestrateur de tâches. L'intelligence au niveau du système permet aux agents système, tels que Gemini, de répondre aux requêtes des utilisateurs dans plusieurs applications et services Web.

Pour connecter votre application au système d'intelligence Android, choisissez une méthode d'intégration selon que vous souhaitez un contrôle programmatique ou des actions automatisées basées sur l'interface utilisateur :

Option d'intégration Cas d'utilisation
AppFunctions Mettez à disposition des agents des fonctionnalités spécifiques de votre application pour qu'ils puissent les découvrir et les exécuter sur l'appareil.
Serveur MCP distant Rendez certaines fonctionnalités de votre application disponibles pour une intégration directe au backend de l'agent. Idéal pour le développement multiplate-forme.
Contrôle de l'ordinateur Permet à un assistant préchargé par l'OEM d'automatiser des tâches en interagissant directement avec l'UI d'une application.

Pour en savoir plus sur les options d'outils d'intelligence au niveau du système, consultez Connecter votre application au système d'intelligence Android.