Questa guida ti aiuta a trovare la soluzione di AI/ML giusta per il tuo caso d'uso. Fornisce indicazioni per aiutarti a orientarti tra le varie soluzioni disponibili e scegliere quella più adatta alle tue esigenze, in base ai requisiti della funzionalità che vuoi implementare.
In generale, quando scegli gli strumenti e i modelli per implementare la tua funzionalità di AI/ML, devi utilizzare il modello più semplice che soddisfi le tue esigenze. Per identificare la soluzione ottimale, devi considerare quanto segue:
- La funzionalità deve generare nuovi contenuti (AI generativa) o prevedere/categorizzare in modo deterministico (ML tradizionale)?
- Ambito della funzionalità: l'attività può essere eseguita interamente all'interno della tua app (intelligence in-app) o richiede più app per essere completata (intelligence a livello di sistema)?
- Posizione del modello: l'attività può essere eseguita offline (modello on-device) o richiede l'interazione con un server (modello basato su cloud)?
- Toolkit o versione del modello: quanto è complessa l'attività, da semplici attività di inferenza singola all'orchestrazione multi-agente?
Il seguente diagramma di flusso mostra il processo decisionale a livello generale:
Per prendere una decisione in ogni passaggio, consulta le sezioni nel resto di questo documento.
AI generativa e ML tradizionale
I modelli di AI generativa creano nuovi contenuti, mentre i modelli di ML tradizionali prevedono i risultati o classificano i dati in modo completamente deterministico. Se la tua funzionalità non prevede la generazione di nuovi contenuti, le soluzioni di ML tradizionali potrebbero essere sufficienti. La seguente tabella riassume alcune soluzioni di ML tradizionale:
| Toolkit/soluzione | Tipo | Caso d'uso primario | Esempi |
|---|---|---|---|
| SDK ML Kit | Sul dispositivo | Attività di visione artificiale ed elaborazione del linguaggio naturale predefinite |
|
| LiteRT | Sul dispositivo | Runtime dei modelli personalizzati |
|
| MediaPipe | Sul dispositivo | Attività di percezione di stream video o audio in tempo reale |
|
| API Google Cloud, tra cui l'API Cloud Vision e l'API Cloud Natural Language | Basato su cloud | Attività predefinite di visione artificiale ed elaborazione del linguaggio naturale |
|
| Agent Platform | Basato su cloud | Addestramento e deployment di modelli personalizzati end-to-end |
|
Il resto di questo documento riguarda le soluzioni di AI generativa.
Intelligence in-app e a livello di sistema
Per identificare la migliore soluzione di AI generativa, decidi se la tua funzionalità di AI funziona interamente all'interno della tua app o se richiede l'interazione con altre app o con il sistema operativo Android, al di fuori di qualsiasi app. Se la tua funzionalità viene attivata dal sistema, al di fuori di qualsiasi app, viene considerata un'intelligence a livello di sistema. La seguente tabella riassume le differenze tra le funzionalità di intelligence in-app e a livello di sistema:
| Intelligence in-app | Intelligence a livello di sistema | |
|---|---|---|
| Ambito dell'attività | In-app | In tutte le app (o attivate dal sistema, al di fuori di qualsiasi app) |
| Strumenti | SDK ML Kit, LiteRT, Firebase AI Logic o backend in hosting autonomo | AppFunctions |
| Casi d'uso |
|
|
Intelligence in-app
Le funzionalità di intelligence in-app non devono interagire con altre app o con il sistema oltre l'app. Una volta stabilito che la tua funzionalità di AI è interamente in-app, devi decidere se puoi eseguirla completamente on-device, utilizzare un modello basato su cloud o adottare un approccio ibrido che combini entrambi.
Se stai eseguendo un'operazione che richiede un input video o attività che coinvolgono più agenti, devi utilizzare un modello basato su cloud. La seguente tabella confronta le funzionalità dei modelli on-device con quelle dei modelli basati su cloud:
| Sul dispositivo | Cloud | |
|---|---|---|
| Strumenti | SDK ML Kit o LiteRT | Firebase AI Logic o backend in hosting autonomo |
| Tipo di input |
|
|
| Tipo di output |
|
|
| Sensibilità dei dati utente | Superiore | Meno |
| Modelli |
|
|
| Casi d'uso |
|
|
Modelli sul dispositivo
I modelli on-device sono probabilmente preferibili se si applica una delle seguenti condizioni:
- Vincoli di costo
- La funzionalità deve poter essere eseguita offline
- Requisiti di privacy
- L'attività da svolgere è relativamente semplice e non richiede l'orchestrazione di più agenti
Tieni presente che i dispositivi degli utenti devono essere in grado di supportare i modelli on-device. I modelli on-device in genere richiedono dispositivi più premium in grado di supportare l'elaborazione locale.
Una volta stabilito che i modelli on-device sono sufficienti per la tua funzionalità, il toolkit o la soluzione ottimale dipende principalmente dalla complessità dell'attività. La tabella seguente riassume le opzioni per gli strumenti di AI generativa on-device e in-app:
| Complessità dell'attività | Caratteristiche della funzionalità | Esempio | Toolkit/Soluzione |
|---|---|---|---|
| Bassa |
|
Riassumi testo |
|
| Media |
|
Query e risposta | |
| Alta |
|
Feedback dei clienti o valutazione dei bug |
Utilizza l'API Prompt di ML Kit per la generazione di testo conversazionale semplice a turno singolo o multi-turno. Quando la tua funzionalità richiede un'esecuzione autonoma in più passaggi on-device, utilizza l'API GenAI Agent di ML Kit. L'API Agent supporta i cicli di ragionamento on-device che possono pianificare, richiamare strumenti tipizzati utilizzando le annotazioni @Tool, mantenere il contesto della sessione tra le interazioni e applicare i limiti di turno utilizzando maxTurns.
Modelli basati su cloud
Se la funzionalità non può essere eseguita interamente on-device, devi utilizzare un modello basato su cloud. Esistono due opzioni principali per l'utilizzo di un modello basato su cloud:
Backend gestito utilizzando Firebase AI Logic. Se sei già un utente Firebase o vuoi creare un prototipo in tempi relativamente brevi, Firebase AI Logic è probabilmente la soluzione migliore.
Backend personalizzato o server in hosting autonomo. Se vuoi utilizzare modelli non Gemini, hai requisiti di privacy rigorosi o devi completare un'attività molto complessa, probabilmente devi utilizzare un backend personalizzato. Ti consigliamo inoltre i seguenti strumenti per la configurazione del backend personalizzato:
- Esegui un framework agentico sul tuo backend personalizzato, ad esempio Agent Development Kit
- Collega il frontend dell'app al backend agentico utilizzando AG-UI
- Consenti agli agenti di generare UI interattive e complete utilizzando A2UI
La tabella seguente riassume quando utilizzare Firebase AI Logic o un backend personalizzato per gli strumenti di AI generativa in-app basati su cloud:
| Complessità dell'attività | Caratteristiche della funzionalità | Esempio | Toolkit/Soluzione |
|---|---|---|---|
| Bassa |
|
Riassumi testo |
|
| Media |
|
Query e risposta |
|
| Alta |
|
Feedback dei clienti o valutazione dei bug |
|
| Molto alto |
|
Crea un team di agenti per gestire diversi aspetti di un viaggio |
|
Approccio ibrido
Utilizza un approccio ibrido quando la tua funzionalità può essere eseguita localmente, ma non tutti i tuoi utenti hanno dispositivi che supportano i modelli on-device e devi utilizzare i modelli cloud come riserva. Per saperne di più, consulta Inferenza ibrida.
Intelligence a livello di sistema
L'intelligence a livello di sistema consente alla piattaforma Android di agire come orchestratore di attività. L'intelligence a livello di sistema consente agli agenti di sistema, come Gemini, di completare le richieste degli utenti su più app e servizi web.
Per connettere la tua app al sistema di intelligence Android, scegli un metodo di integrazione in base al fatto che tu voglia un controllo programmatico o azioni automatiche basate sulla UI:
| Opzione di integrazione | Caso d'uso |
|---|---|
| AppFunctions | Rendi disponibili funzionalità specifiche della tua app per consentire agli agenti di scoprirle ed eseguirle on-device. |
| Server MCP remoto | Rendi disponibili funzionalità specifiche della tua app per l'integrazione diretta con il backend dell'agente. Ideale per lo sviluppo multipiattaforma. |
| Controllo del computer | Consente a un assistente precaricato dall'OEM di automatizzare le attività interagendo direttamente con la UI di un'app. |
Per saperne di più sulle opzioni degli strumenti di intelligence a livello di sistema, consulta Collega la tua app al sistema di intelligence Android.