Questa guida è progettata per aiutarti a integrare le soluzioni di intelligenza artificiale generativa e machine learning (AI/ML) di Google nelle tue applicazioni. Fornisce indicazioni per aiutarti a orientarti tra le varie soluzioni di intelligenza artificiale e machine learning disponibili e a scegliere quella più adatta alle tue esigenze. L'obiettivo di questo documento è aiutarti a determinare quale strumento utilizzare e perché, concentrandoti sulle tue esigenze e sui tuoi casi d'uso.
Per aiutarti a selezionare la soluzione AI/ML più adatta alle tue esigenze specifiche, questo documento include una guida alle soluzioni. Rispondendo a una serie di domande sugli obiettivi e sui vincoli del tuo progetto, la guida ti indirizza verso gli strumenti e le tecnologie più appropriati.
Questa guida ti aiuta a scegliere la soluzione AI migliore per la tua app. Tieni conto dei seguenti fattori: il tipo di dati (testo, immagini, audio, video), la complessità dell'attività (dalla semplice sintesi alle attività complesse che richiedono conoscenze specialistiche) e le dimensioni dei dati (input brevi rispetto a documenti di grandi dimensioni). In questo modo potrai decidere se utilizzare Gemini Nano sul tuo dispositivo o l'AI basata su cloud di Firebase (Gemini Flash, Gemini Pro o Imagen).
Sfrutta la potenza dell'inferenza on-device
Quando aggiungi funzionalità di AI e ML alla tua app per Android, puoi scegliere diversi modi per fornirle: sul dispositivo o utilizzando il cloud.
Le soluzioni on-device come Gemini Nano forniscono risultati senza costi aggiuntivi, offrono una maggiore privacy degli utenti e funzionalità offline affidabili perché i dati di input vengono elaborati localmente. Questi vantaggi possono essere fondamentali per determinati casi d'uso, come la sintesi dei messaggi, rendendo la soluzione on-device una priorità nella scelta delle soluzioni giuste.
Gemini Nano ti consente di eseguire l'inferenza direttamente su un dispositivo con Android. Se lavori con testo, immagini o audio, inizia con le API GenAI di ML Kit per soluzioni pronte all'uso. Le API GenAI di ML Kit sono basate su Gemini Nano, utilizzano AICore come servizio di sistema sottostante e sono ottimizzate per attività on-device specifiche. Le API GenAI di ML Kit sono un percorso ideale per la produzione delle tue app grazie alla loro interfaccia di livello superiore e alla scalabilità. Queste API ti consentono di inviare richieste in linguaggio naturale con input di testo e immagini, consentendo una varietà di casi d'uso come la comprensione delle immagini, le traduzioni brevi, le sintesi guidate e altro ancora.
Per le attività di machine learning tradizionali, hai la flessibilità di implementare i tuoi modelli personalizzati. Forniamo strumenti robusti come ML Kit, MediaPipe, LiteRT e funzionalità di pubblicazione di Google Play per semplificare il processo di sviluppo.
Per le applicazioni che richiedono soluzioni altamente specializzate, puoi utilizzare il tuo modello personalizzato, ad esempio Gemma o un altro modello adattato al tuo caso d'uso specifico. Esegui il modello direttamente sul dispositivo dell'utente con LiteRT, che fornisce architetture di modelli predefinite per prestazioni ottimizzate.
Puoi anche prendere in considerazione la creazione di una soluzione ibrida sfruttando sia i modelli on-device sia quelli cloud.
Le app per dispositivi mobili utilizzano in genere modelli locali per piccoli dati di testo, come conversazioni in chat o articoli di blog. Tuttavia, per origini dati più grandi (come i PDF) o quando sono necessarie conoscenze aggiuntive, potrebbe essere necessaria una soluzione basata su cloud con modelli Gemini più potenti.
Integra i modelli Gemini avanzati
Gli sviluppatori Android possono integrare le funzionalità di AI generativa avanzate di Google, inclusi i potenti modelli Gemini Pro, Gemini Flash e Imagen, nelle loro applicazioni utilizzando l'SDK Firebase AI Logic. Questo SDK è progettato per esigenze di dati più grandi e offre funzionalità e adattabilità ampliate consentendo l'accesso a questi modelli di AI multimodali ad alte prestazioni.
Con l'SDK Firebase AI Logic, gli sviluppatori possono effettuare chiamate lato client ai modelli di AI di Google con il minimo sforzo. Questi modelli, come Gemini Pro e Gemini Flash, eseguono l'inferenza nel cloud e consentono alle app Android di elaborare una varietà di input, tra cui immagini, audio, video e testo. Gemini Pro eccelle nel ragionamento su problemi complessi e nell'analisi di dati estesi, mentre la serie Gemini Flash offre velocità superiori e una finestra contestuale sufficientemente grande per la maggior parte delle attività.
Quando utilizzare il machine learning tradizionale
Sebbene l'AI generativa sia utile per creare e modificare contenuti come testo, immagini e codice, molti problemi del mondo reale vengono risolti meglio utilizzando le tecniche di machine learning (ML) tradizionali. Questi metodi consolidati eccellono nelle attività che riguardano la previsione, la classificazione, il rilevamento e la comprensione dei pattern all'interno dei dati esistenti, spesso con maggiore efficienza, costi di calcolo inferiori e implementazione più semplice rispetto ai modelli generativi.
I framework ML tradizionali offrono soluzioni robuste, ottimizzate e spesso più pratiche per le applicazioni incentrate sull'analisi dell'input, sull'identificazione delle funzionalità o sulla creazione di previsioni basate su pattern appresi, anziché sulla generazione di output completamente nuovi. Strumenti come ML Kit, LiteRT e MediaPipe di Google forniscono funzionalità potenti adattate a questi casi d'uso non generativi, in particolare negli ambienti di computing mobile ed edge.
Inizia l'integrazione del machine learning con ML Kit
ML Kit offre soluzioni pronte per la produzione e ottimizzate per il mobile per le attività di machine learning comuni, senza richiedere competenze ML precedenti. Questo SDK per dispositivi mobili di facile utilizzo porta l'esperienza ML di Google direttamente nelle tue app Android e iOS, consentendoti di concentrarti sullo sviluppo delle funzionalità anziché sull'addestramento e l'ottimizzazione dei modelli. ML Kit fornisce API predefinite e modelli pronti all'uso per funzionalità come la scansione di codici a barre, il riconoscimento del testo (OCR), il rilevamento dei volti, l'etichettatura delle immagini, il rilevamento e il monitoraggio degli oggetti, l'identificazione della lingua e la risposta rapida.
Questi modelli sono in genere ottimizzati per l'esecuzione on-device, garantendo bassa latenza, funzionalità offline e maggiore privacy degli utenti, poiché i dati spesso rimangono sul dispositivo. Scegli ML Kit per aggiungere rapidamente funzionalità ML consolidate alla tua app mobile senza dover addestrare i modelli o richiedere output generativi. È ideale per migliorare in modo efficiente le app con funzionalità "intelligenti" utilizzando i modelli ottimizzati di Google o eseguendo il deployment di modelli TensorFlow Lite personalizzati.
Inizia a utilizzare le nostre guide e la nostra documentazione complete sul sito per sviluppatori di ML Kit.
Deployment ML personalizzato con LiteRT
Per un maggiore controllo o per eseguire il deployment dei tuoi modelli ML, utilizza uno stack ML personalizzato basato su LiteRT e su Google Play Services. Questo stack fornisce gli elementi essenziali per il deployment di funzionalità ML ad alte prestazioni. LiteRT è un toolkit ottimizzato per l'esecuzione efficiente di modelli TensorFlow su dispositivi mobili, embedded ed edge con risorse limitate, che ti consente di eseguire modelli significativamente più piccoli e veloci che consumano meno memoria, energia e spazio di archiviazione. Il runtime di LiteRT è altamente ottimizzato per vari acceleratori hardware (GPU, DSP, NPU) sui dispositivi edge, consentendo l'inferenza a bassa latenza.
Scegli LiteRT quando devi eseguire il deployment efficiente di modelli ML addestrati (in genere per la classificazione, la regressione o il rilevamento) su dispositivi con potenza di calcolo o durata della batteria limitate, come smartphone, dispositivi IoT o microcontrollori. È la soluzione preferita per il deployment di modelli predittivi personalizzati o standard sull'edge, dove la velocità e la conservazione delle risorse sono fondamentali.
Scopri di più sul deployment ML con LiteRT.
Integra la percezione in tempo reale nelle tue app con MediaPipe
MediaPipe fornisce soluzioni di machine learning open source, multipiattaforma e personalizzabili progettate per contenuti multimediali live e in streaming. Sfrutta gli strumenti predefiniti e ottimizzati per attività complesse come il tracciamento delle mani, la stima della posa, il rilevamento della mesh del volto e il rilevamento degli oggetti, che consentono interazioni in tempo reale ad alte prestazioni anche sui dispositivi mobili.
Le pipeline basate su grafici di MediaPipe sono altamente personalizzabili e ti consentono di adattare le soluzioni per applicazioni Android, iOS, web, desktop e backend. Scegli MediaPipe quando la tua applicazione deve comprendere e reagire immediatamente ai dati dei sensori live, in particolare ai flussi video, per casi d'uso come il riconoscimento dei gesti, gli effetti AR, il monitoraggio dell'attività fisica o il controllo degli avatar, tutti incentrati sull'analisi e l'interpretazione dell'input.
Esplora le soluzioni e inizia a creare con MediaPipe.
Integra la tua app con l'assistente del dispositivo
Sebbene l'integrazione dell'AI tradizionale si concentri sull'"inserimento dell'AI nella tua app", puoi anche "inserire la tua app nell'AI". Contribuendo con le funzionalità della tua app alle funzionalità di AI a livello di sistema, consenti agli assistenti a livello di sistema (come Gemini) di scoprire e richiamare le funzionalità della tua app in modo autonomo. AppFunctions è il modo principale per ottenere questa integrazione, consentendo alla tua app di partecipare all' ecosistema AI Android più ampio.
Scegli un approccio
Quando incorpori l'AI per migliorare la tua app per Android, devi prendere in considerazione tre approcci principali: eseguire l'elaborazione on-device, sfruttare i modelli basati su cloud o aggiungere le funzionalità della tua app all'AI a livello di sistema. Strumenti come ML Kit, Gemini Nano e LiteRT consentono funzionalità on-device, mentre le API cloud Gemini con Firebase AI Logic forniscono una potente elaborazione basata su cloud. AppFunctions rappresenta un terzo percorso, che ti consente di "inserire la tua app nell'AI" rendendo le sue funzionalità disponibili in modo autonomo per il sistema.
Quando scegli l'approccio, tieni conto dei seguenti fattori:
| Fattore | Soluzioni on-device | Soluzioni cloud |
|---|---|---|
| Connettività e funzionalità offline funzionalità | Ideale per l'utilizzo offline; funziona senza connessione di rete connessione. | Richiede una connessione di rete per comunicare con i server remoti. |
| Privacy dei dati | Elabora e archivia i dati sensibili localmente sul dispositivo. | I dati vengono trasmessi al cloud, il che richiede fiducia nella sicurezza del provider |
| Visibilità e copertura | L'integrazione diretta del sistema operativo (AppFunctions) consente agli assistenti di scoprire le funzionalità. | La scoperta è in genere limitata all'interfaccia utente interna dell'app o integrazioni API specifiche. |
| Funzionalità del modello | Ottimizzato per la bassa latenza e per attività specifiche meno intensive tasks. | Modelli potenti in grado di gestire elevata complessità e input di grandi dimensioni. |
| Considerazioni sui costi | Nessun addebito diretto per utilizzo; utilizza l'hardware del dispositivo esistente. | In genere prevede prezzi basati sull'utilizzo o costi di abbonamento continuativi. |
| Risorse del dispositivo | Utilizza lo spazio di archiviazione locale, la RAM e la durata della batteria. | Impatto locale minimo; le attività più impegnative vengono scaricate su il server. |
| Ottimizzazione | Flessibilità limitata; vincolata dalle funzionalità hardware locali. | Maggiore flessibilità per la personalizzazione estesa e l'ottimizzazione su larga scala. |
| Coerenza multipiattaforma | La disponibilità può variare a seconda del sistema operativo e del supporto hardware support. | Esperienza coerente su qualsiasi piattaforma con accesso a internet accesso. |
Considerando attentamente i requisiti del tuo caso d'uso e le opzioni disponibili, puoi trovare la soluzione AI/ML perfetta per migliorare la tua app per Android e offrire esperienze intelligenti e personalizzate ai tuoi utenti.
Guida alle soluzioni AI/ML
Questa guida alle soluzioni può aiutarti a identificare gli strumenti per sviluppatori appropriati per integrare le tecnologie AI/ML nei tuoi progetti Android.
Qual è l'obiettivo principale della funzionalità AI?
- A) Generare nuovi contenuti (testo, descrizioni di immagini) o eseguire una semplice elaborazione del testo (riepilogo, correzione o riscrittura del testo)? → Vai a AI generativa
- B) Analizzare i dati/input esistenti per la previsione, la classificazione, il rilevamento, la comprensione dei pattern o l'elaborazione di stream in tempo reale (come video/audio)? → Vai a ML tradizionale e percezione
- C) Migliorare le funzionalità della tua app per integrarla con le funzionalità di AI a livello di sistema (inserire la tua app nell'AI)? → Vai a Inserire la tua app nell'AI
ML tradizionale e percezione
Devi analizzare l'input, identificare le funzionalità o creare previsioni basate su pattern appresi, anziché generare output completamente nuovi.
Quale attività specifica stai eseguendo?
- A) Hai bisogno di un'integrazione rapida di funzionalità ML per dispositivi mobili predefinite e comuni?
(ad es. scansione di codici a barre, riconoscimento del testo (OCR), rilevamento dei volti, etichettatura delle immagini, rilevamento e monitoraggio degli oggetti, ID lingua, risposta rapida di base)
- → Utilizza: ML Kit (API tradizionali)
- _Perché_: integrazione più semplice per le attività ML per dispositivi mobili consolidate, spesso ottimizzate per l'utilizzo on-device (bassa latenza, offline, privacy).
- B) Devi elaborare dati di streaming in tempo reale (come video o audio) per le attività di percezione? (ad es. tracciamento delle mani, stima della posa, mesh del volto, rilevamento e segmentazione degli oggetti in tempo reale nei video)
- → Utilizza: MediaPipe
- Perché: framework specializzato per pipeline di percezione in tempo reale ad alte prestazioni su varie piattaforme.
- C) Devi eseguire in modo efficiente il tuo modello ML addestrato personalizzato (ad es. per la classificazione, la regressione, il rilevamento) sul dispositivo, dando la priorità alle prestazioni e al basso utilizzo delle risorse?
- → Utilizza: LiteRT (runtime di TensorFlow Lite)
- _Perché_: runtime ottimizzato per il deployment efficiente di modelli personalizzati su dispositivi mobili ed edge (dimensioni ridotte, inferenza rapida, accelerazione hardware).
- D) Devi addestrare il tuo modello ML personalizzato per un'attività specifica?
- → Utilizza: LiteRT (runtime di TensorFlow Lite) + addestramento di modelli personalizzati
- Perché: fornisce gli strumenti per addestrare ed eseguire il deployment di modelli personalizzati, ottimizzati per dispositivi mobili ed edge dispositivi.
- E) Hai bisogno di una classificazione dei contenuti, di un'analisi del sentiment o di una traduzione avanzate di molte lingue con sfumature elevate?
- Valuta se i modelli ML tradizionali (potenzialmente sottoposti a deployment utilizzando LiteRT o il cloud) sono adatti o se l'NLU avanzato richiede modelli generativi (torna all'inizio, scegli A). Per la classificazione, il sentiment o la traduzione basati su cloud:
- → Utilizza: soluzioni basate su cloud (ad es. API Cloud Natural Language di Google Cloud, API Cloud Translation di Google Cloud, a cui si può accedere utilizzando un backend personalizzato o Vertex AI). (Priorità inferiore rispetto alle opzioni on-device se l'utilizzo offline o la privacy sono fondamentali).
- _Perché_: le soluzioni cloud offrono modelli potenti e un ampio supporto linguistico, ma richiedono connettività e potrebbero comportare costi.
AI generativa
Devi creare nuovi contenuti, riepilogare, riscrivere o eseguire attività complesse di comprensione o interazione.
L'AI deve funzionare offline, hai bisogno della massima privacy dei dati (mantenendo i dati utente on-device) o vuoi evitare i costi di inferenza cloud?
- A) Sì, l'utilizzo offline, la massima privacy o l'assenza di costi cloud sono fondamentali.
- → Vai a AI generativa on-device
- B) No, la connettività è disponibile e accettabile, le funzionalità e la
scalabilità del cloud sono più importanti o funzionalità specifiche richiedono il cloud.
- → Vai a AI generativa cloud
AI generativa on-device (utilizzo di Gemini Nano)
Avvertenze: richiede dispositivi Android compatibili, supporto iOS limitato, i modelli sono meno potenti delle controparti cloud.
Con l'API Prompt di ML Kit puoi inviare richieste in linguaggio naturale con input di solo testo o di testo e immagini per una varietà di casi d'uso, come la comprensione delle immagini, le traduzioni brevi e le sintesi guidate. Se i tuoi casi d'uso possono essere soddisfatti da questi limiti di token, le API GenAI di ML Kit sono la tua opzione migliore per l'AI generativa on-device. ML Kit offre anche API semplificate per attività comuni come la sintesi e la risposta rapida.
- → Utilizza: API GenAI di ML Kit (basate su Gemini Nano)
- Perché: il modo più semplice per integrare le attività di AI generativa on-device utilizzando prompt in linguaggio naturale, soluzione on-device con la massima priorità on-device.
AI generativa cloud
Utilizza modelli più potenti, richiede connettività, in genere comporta costi di inferenza, offre una copertura più ampia dei dispositivi e una coerenza multipiattaforma (Android e iOS) più semplice.
Qual è la tua priorità: facilità di integrazione in Firebase O massima flessibilità/controllo?
- A) Preferisci un'integrazione più semplice, un'esperienza API gestita e probabilmente utilizzi già Firebase?
- → Utilizza: SDK Firebase AI Logic → Vai a Firebase AI Logic
- B) Hai bisogno della massima flessibilità, dell'accesso alla più ampia gamma di modelli (inclusi modelli di terze parti/personalizzati), dell'ottimizzazione avanzata e sei disposto a gestire la tua integrazione backend (più complessa)?
- → Utilizza: API Gemini con un backend cloud personalizzato (utilizzando Google Cloud Platform)
- Perché: offre il massimo controllo, l'accesso più ampio ai modelli e le opzioni di addestramento personalizzate, ma richiede un notevole sforzo di sviluppo del backend. Adatto a esigenze complesse, su larga scala o altamente personalizzate.
(Hai scelto l'SDK Firebase AI Logic) Di che tipo di attività generativa e profilo di prestazioni hai bisogno?
- A) Hai bisogno di un equilibrio tra prestazioni e costi, adatto per la generazione di testo generale, la sintesi o le applicazioni di chat in cui la velocità è importante?
- → Utilizza: SDK Firebase AI Logic con Gemini Flash
- Perché: ottimizzato per la velocità e l'efficienza nell'ambiente gestito di Vertex AI.
- B) Hai bisogno di una qualità e di una capacità superiori per la generazione di testo complesso, il ragionamento, l'NLU avanzato o il rispetto delle istruzioni?
- → Utilizza: SDK Firebase AI Logic con Gemini Pro
- Perché: modello di testo più potente per attività impegnative, accessibile tramite Firebase.
- C) Hai bisogno di una sofisticata generazione di immagini o di una comprensione o manipolazione avanzata delle immagini basata su prompt di testo?
- → Utilizza: SDK Firebase AI Logic con Imagen 3
- Perché: modello di generazione di immagini all'avanguardia accessibile utilizzando l'ambiente Firebase gestito.
AppFunctions
Devi migliorare le funzionalità della tua app per integrarla con le funzionalità di AI a livello di sistema (inserire la tua app nell'AI).
- → Utilizza: AppFunctions
- Perché: consente alle funzionalità di AI a livello di sistema, come l'Assistente, di scoprire e richiamare le funzionalità della tua app.