Présentation des API ML Kit GenAI

Les API d'IA générative de ML Kit exploitent la puissance de Gemini Nano pour aider vos applications à effectuer des tâches d'IA générative sur l'appareil. Ces API sont basées sur AICore, un service système Android qui gère les modèles de fondation sur l'appareil et accélère l'inférence tout en préservant la confidentialité des données utilisateur.

Les Conditions d'utilisation supplémentaires de l'API GenAI de ML Kit s'appliquent à l'utilisation des API GenAI. Les développeurs sont seuls responsables de la sécurité de leur client API et de l'expérience utilisateur de leur application.

Capacités clés

ML Kit organise ses fonctionnalités d'IA générative dans les catégories suivantes :

Génération et agents personnalisés

Utilisez directement le modèle de fondation Gemini Nano pour le prompting personnalisé et les workflows agentiques autonomes :

  • Accès direct au modèle (à l'aide de la classe GenerativeModel) : générez du texte ou une sortie structurée typée à partir de requêtes textuelles ou multimodales personnalisées, ou gérez votre propre historique de chat multitour directement à l'aide d'un objet List<Content> avec les rôles USER et MODEL et une valeur sessionId, et gérez directement les déclarations d'outils.
  • Workflows agentiques (à l'aide de la classe AgentRunner) : basés sur la classe GenerativeModel, ils automatisent la gestion des sessions multitours (y compris l'historique des conversations en mémoire) et les boucles d'appel d'outils en plusieurs étapes.

Voix et audio

Transcrivez, traduisez et synthétisez des contenus audio sur l'appareil :

  • Reconnaissance vocale : transcrivez du contenu audio parlé en texte dans la même langue.
  • Traduction vocale : traduisez du contenu audio parlé en texte dans une autre langue en temps réel.
  • Text-to-Speech : synthétisez des contenus audio au son naturel à partir de texte.

Tâches de texte et d'image

Utilisez des API spécifiques aux tâches, optimisées pour les tâches courantes de vision, d'écriture et de recherche, sans prompt engineering :

  • Description d'image : générez une brève description d'une image donnée.
  • Résumé : résumez des articles ou des conversations de chat sous forme de liste à puces.
  • Relecture : peaufinez les contenus courts en améliorant la grammaire et en corrigeant les fautes d'orthographe.
  • Réécriture : réécrivez des messages courts dans différents tons ou styles.
  • Recherche sémantique : générez des embeddings vectoriels pour le texte et les images à l'aide de l'API Embedding et associez-les à AndroidX AppSearch pour trouver du contenu par signification.

Avantages des API d'IA générative

Comme les autres fonctionnalités ML Kit existantes, les API GenAI s'exécutent entièrement sur l'appareil et offrent ainsi les avantages suivants :

  • Les données d'entrée, d'inférence et de sortie sont traitées localement
  • La fonctionnalité reste la même sans connexion Internet fiable
  • Aucun coût de serveur supplémentaire n'est facturé pour chaque appel d'API.

De plus, comme les API d'IA générative sont basées sur AICore et optimisées par Gemini Nano, les applications et les API spécifiques à une tâche partagent le même modèle de base Gemini Nano sous-jacent sur l'appareil. Cela évite d'avoir à attendre le téléchargement d'un modèle distinct si Gemini Nano existe déjà sur un appareil, ce qui permet d'économiser de l'espace de stockage. Découvrez comment AICore isole les requêtes pour protéger la confidentialité.

Streaming ou non-streaming

Les API d'IA générative ML Kit proposent des options de streaming et de non-streaming pour recevoir les résultats. L'API de streaming fournit des réponses de manière incrémentielle au fur et à mesure qu'elles sont générées, ce qui permet d'obtenir un flux de données continu. En revanche, l'API sans flux attend que la réponse soit complète avant de la renvoyer sous la forme d'un seul bloc.

Choisissez l'API de streaming pour les réponses longues, car elle permet d'obtenir des commentaires initiaux plus rapidement. L'API sans flux est plus adaptée aux réponses courtes ou au traitement des résultats par lots.

Vérifier si l'appareil est compatible

La compatibilité des appareils avec la génération personnalisée, les agents et les API de tâches de texte et d'image est décrite dans les sections suivantes. Pour les fonctionnalités qui ne sont pas listées dans cette section, consultez les pages des fonctionnalités individuelles pour obtenir des informations sur la compatibilité des appareils.

Prise en charge des appareils de génération et d'agent personnalisés

L'accès direct au modèle et les workflows agentiques sont compatibles avec les appareils suivants :

nano-v2

  • Honor : Magic V5, Magic 7, Magic 7 Pro
  • iQOO : iQOO 13
  • Motorola : Razr 60 Ultra, Razr Ultra 2025
  • OnePlus : OnePlus 13, OnePlus 13s
  • OPPO : Find N5
  • POCO : POCO F7 Ultra, POCO F8 Pro, POCO F8 Ultra, POCO X7 Pro, POCO X8 Pro
  • realme : realme GT 7 Pro
  • Samsung : Galaxy Z Fold7, Galaxy Z TriFold
  • vivo : vivo X200 FE, vivo T4 Ultra
  • Xiaomi : Xiaomi 14T Pro, Xiaomi 15, Xiaomi 15T, Xiaomi 15T Pro, Xiaomi 15 Ultra, Xiaomi 17, Xiaomi 17 Ultra, Xiaomi Pad Mini

nano-v3

  • Google : Pixel 10, Pixel 10 Pro, Pixel 10 Pro XL, Pixel 10 Pro Fold, Pixel 9, Pixel 9 Pro, Pixel 9 Pro XL, Pixel 9 Pro Fold
  • Honor : Honor Magic 8 Pro
  • iQOO : iQOO 15
  • Lenovo : Lenovo Idea Tab Pro 2e génération, Lenovo Legion Tab 5e génération(8,8 pouces)
  • Motorola : Signature
  • OnePlus : OnePlus 15, OnePlus 15R
  • OPPO : Find X9, Find X9 Pro, Find X8, Find X8 Pro, Reno 14 Pro 5G, Reno 15 Pro 5G, Reno 15 Pro Mini 5G, Reno 15 Pro Max 5G
  • realme : realme GT 7T
  • Samsung : Galaxy S26, Galaxy S26+, Galaxy S26 Ultra
  • Sharp : AQUOS R11
  • Sony : Xperia 1 VIII
  • vivo : vivo X200T, vivo X200, vivo X200 Pro, vivo X300, vivo X300 Pro

nano-v4

  • Google : Pixel 11, Pixel 11 Pro, Pixel 11 Pro XL, Pixel 11 Pro Fold
  • Samsung : Galaxy Z Flip8, Galaxy Z Fold8, Galaxy Z Fold8 Ultra

Compatibilité des appareils avec les tâches de texte et d'image

Les API Description d'image, Résumé, Relecture et Réécriture sont disponibles sur les appareils suivants, et nous prévoyons d'étendre la compatibilité à d'autres appareils :

  • Google : Pixel 11, Pixel 11 Pro, Pixel 11 Pro XL, Pixel 11 Pro Fold, Pixel 10, Pixel 10 Pro, Pixel 10 Pro XL, Pixel 10 Pro Fold, Pixel 9, Pixel 9 Pro, Pixel 9 Pro XL, Pixel 9 Pro Fold
  • Honor : Honor 400 Pro, Magic 7, Magic 7 Pro, Magic 8 Pro, Magic V5
  • iQOO : iQOO 13, iQOO 15
  • Lenovo : Lenovo Idea Tab Pro 2e génération, Lenovo Legion Tab 5e génération(8,8 pouces)
  • Motorola : Razr 60 Ultra, Razr Ultra 2025, Signature
  • OnePlus : OnePlus 15, OnePlus 15R, OnePlus 13, OnePlus 13s
  • OPPO : Find N5, Find X9, Find X9 Pro, Find X8, Find X8 Pro, Reno 14 Pro 5G, Reno 15 Pro 5G, Reno 15 Pro Mini 5G, Reno 15 Pro Max 5G
  • POCO : POCO F7 Ultra, POCO F8 Pro, POCO F8 Ultra, POCO X7 Pro, POCO X8 Pro
  • realme : realme GT 7 Pro, realme GT 7T
  • Samsung : Galaxy S25, Galaxy S25+, Galaxy S25 Ultra, Galaxy S26, Galaxy S26+, Galaxy S26 Ultra, Galaxy Z Flip8, Galaxy Z Fold8, Galaxy Z Fold8 Ultra, Galaxy Z Fold7, Galaxy Z TriFold
  • Sharp : AQUOS R11
  • Sony : Xperia 1 VIII
  • vivo : vivo X200T, vivo X200 FE, vivo X200, vivo X200 Pro, vivo X300, X300 Pro, vivo X Fold3 Pro, vivo X Fold5, vivo T4 Ultra
  • Xiaomi : Xiaomi 14T Pro, Xiaomi 15, Xiaomi 15T, Xiaomi 15T Pro, Xiaomi 15 Ultra, Xiaomi 17, Xiaomi 17 Ultra, Xiaomi Pad Mini

La disponibilité de la prise en charge d'une langue spécifique peut varier en fonction de la configuration de l'appareil et des modèles téléchargés sur l'appareil.

Récupérer la version de Gemini Nano

Différentes versions de Gemini Nano s'exécutent sur différents appareils. Pour renvoyer la version de Gemini Nano sur un appareil, utilisez la méthode getBaseModelName().

Quota par application

AICore applique un quota d'inférence par application. Si vous effectuez trop de requêtes API GenAI sur une courte période, vous obtiendrez une réponse ErrorCode.BUSY. Lorsque vous recevez une telle erreur, envisagez d'utiliser un intervalle exponentiel entre les tentatives pour relancer la requête. ErrorCode.PER_APP_BATTERY_USE_QUOTA_EXCEEDED peut également être renvoyé si une application dépasse un quota de longue durée (par exemple, un quota quotidien).

Utilisation en arrière-plan

L'inférence de l'API GenAI n'est autorisée que lorsque l'application est l'application de premier plan principale. L'utilisation de l'API lorsque l'application n'est pas au premier plan, y compris l'utilisation d'un service de premier plan, entraîne une réponse ErrorCode.BACKGROUND_USE_BLOCKED.

Exemple de code

Pour obtenir ce code, consultez les exemples suivants :