Trova la soluzione AI/ML giusta per la tua funzionalità

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:

Sì No Sì No Sì No Sì Non tutti Sì No Funzionalità Devi generare nuovi contenuti (anziché prevedere o classificare i dati)? AI generativa È un'attività cross-app? ML tradizionale Intelligence di sistema Utilizza AppFunctions Intelligence in-app La funzionalità può essere eseguita offline o hai vincoli di costo? I dispositivi di destinazione supportano i modelli on-device? Hai bisogno che la funzionalità continui a funzionare (lo stato deve essere conservato) quando l'app è chiusa o hai bisogno di un accesso privato al database? Modello on-device Utilizza Gemini Nano tramite ML Kit o LiteRT Approccio ibrido Preferisci i modelli on-device, ma utilizza i modelli cloud come modelli di riserva Modello basato su cloud Utilizza un server personalizzato in hosting autonomo Modello basato su cloud Utilizza un backend gestito tramite Firebase AI Logic
Figura 1. Processo decisionale di alto livello per la scelta di una soluzione AI/ML.

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
  • Scanner di ricevute OCR
  • Check-in rapidi agli eventi con codice QR
  • Traduzione dei menu offline
LiteRT Sul dispositivo Runtime dei modelli personalizzati
  • Classificazione di immagini mediche
  • Previsione delle parole della tastiera smart per argomenti di nicchia
MediaPipe Sul dispositivo Attività di percezione di stream video o audio in tempo reale
  • Coaching in tempo reale sulla postura durante l'allenamento
  • Filtri ed effetti per il viso
  • Riconoscimento dei gesti con la mano
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
  • Sottotitoli automatici dei video
  • Controllo qualità e conformità delle immagini
Agent Platform Basato su cloud Addestramento e deployment di modelli personalizzati end-to-end
  • Riconoscimento delle immagini specializzato su larga scala
  • Ricerca di foto di stock

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
  • Riassumere, correggere o trascrivere il testo
  • Descrivi immagini
  • Crea un chatbot in-app
  • Genera immagini
  • Crea una lista della spesa in un'app di consegna in base a ciò che hai scritto in un documento di note
  • Prenota una corsa per l'ufficio e invia un messaggio al tuo collega con l'orario di arrivo stimato
  • Trovare un ristorante consigliato nella posta in arrivo ed effettuare una prenotazione

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
  • Testo
  • Immagine
  • Audio
  • Testo
  • Immagine
  • Audio
  • Video
Tipo di output
  • Testo
  • Testo
  • Immagine
  • Audio
Sensibilità dei dati utente Superiore Meno
Modelli
  • Gemma
  • Gemini Nano
  • Gemini Flash
  • Gemini Flash Lite
  • Gemini Pro
Casi d'uso
  • Elaborare contenuti brevi, ad esempio riassumere, correggere o riscrivere un breve messaggio chat o un'email
  • Descrivi immagini
  • Personalizza l'output per gli utenti in base ai loro interessi
  • Gestisci i dati utente sensibili
  • Trascrivi un breve audio clip
  • Crea un chatbot
  • Genera immagini
  • Tradurre le conversazioni in tempo reale
  • Editing delle foto in-app
  • Attività multi-agente

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
  • Inferenza singola
  • Generazione pura
Riassumi testo
Media
  • LLM aumentato
  • Chiamata di funzione
  • Cronologia conversazione
Query e risposta
Alta
  • Loop di un singolo agente, che si ripete fino al completamento dell'attività
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
  • Inferenza singola
  • Generazione pura
Riassumi testo
  • Firebase AI Logic
  • Backend personalizzato
Media
  • LLM aumentato
  • Chiamata di funzione
  • Cronologia conversazione
Query e risposta
  • Firebase AI Logic
  • Backend personalizzato
Alta
  • Loop di un singolo agente, che si ripete fino al completamento dell'attività
Feedback dei clienti o valutazione dei bug
  • Backend personalizzato
Molto alto
  • Orchestrazione multi-agente
Crea un team di agenti per gestire diversi aspetti di un viaggio
  • Backend personalizzato

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.