La creazione di funzionalità di AI generativa nella tua app di solito comporta la navigazione tra vari modelli, API e scelte di architettura:
- Posizione di esecuzione:dove viene eseguito il modello? Sul dispositivo, nel cloud o entrambi?
- Complessità:quanto è complessa la tua configurazione? Stai effettuando una singola chiamata di inferenza o hai bisogno di un flusso più autonomo?
- In-app o sistema Android:la funzionalità deve essere integrata nell'app per Android o è più adatta come integrazione del sistema Android?
In questa serie di post del blog, ti guideremo nella scelta. Ti accompagneremo in un percorso che inizia con un'app mobile di base e la trasforma in un'esperienza personalizzata, intelligente e basata su agenti.
Jetpacker: un'app demo per i viaggi
Jetpacker è un'app di dimostrazione tecnica che il nostro team ha creato da zero per il Google I/O di quest'anno (utilizzando Antigravity). Nella sua essenza, Jetpacker aiuta gli utenti a pianificare, esplorare e godersi la loro prossima grande avventura. Mostra una panoramica dei tuoi viaggi, l'itinerario di ciascun viaggio e i dettagli di ogni evento del viaggio. Naturalmente, seguendo tutte le best practice di sviluppo per Android, incluso un design dell'interfaccia utente Material espressivo e accattivante.
E la cosa migliore? È completamente open source.
Oggi pubblichiamo una serie di post del blog tecnici che analizzano in dettaglio ciascuna di queste funzionalità. Forniremo passaggi di implementazione dettagliati, snippet di codice e approfondimenti sull'architettura per aiutarti a creare le tue applicazioni Android intelligenti.
Intelligence on-device
L'utilizzo di un modello sul dispositivo non comporta costi aggiuntivi per l'inferenza nel cloud, non richiede una connessione a internet e consente agli utenti di avere la certezza che le informazioni private verranno elaborate localmente, sul dispositivo, senza che i dati vengano inviati al cloud.
In Jetpacker, abbiamo scelto l'inferenza sul dispositivo per tre delle nostre funzionalità:
- La funzionalità Riepilogo viaggio trasforma un itinerario disordinato di più giorni in un riepilogo conciso e pratico. Sfrutta Gemini Nano tramite le API GenAI di ML Kit per elaborare i dati localmente sul dispositivo. Consideriamo questa funzionalità un'opzione utile per cui non vogliamo sostenere costi cloud aggiuntivi, quindi l'inferenza sul dispositivo è la scelta giusta.
- Il monitoraggio delle spese estrae automaticamente i dati strutturati dalle immagini delle ricevute per aiutare gli utenti a monitorare le proprie spese di viaggio. Utilizza le funzionalità multimodali di Gemini Nano 4 tramite le API ML Kit GenAI. Scegliamo una soluzione sul dispositivo in modo che le informazioni sensibili alla privacy nelle immagini delle ricevute non lascino mai il dispositivo dell'utente.
- Il diario audio registra, trascrive e classifica le note vocali in attività di viaggio pertinenti. È basato sul riconoscimento vocale di ML Kit e sulle API di prompt di AI generativa. Abbiamo scelto una soluzione sul dispositivo per motivi di privacy e connettività.
Inferenza cloud e ibrida
A volte il tuo caso d'uso richiede modelli di AI con una maggiore conoscenza del mondo o una finestra contestuale molto più ampia e con una maggiore capacità di gestire attività complesse. In questo caso, possiamo passare dall'esecuzione di un modello sul dispositivo all'utilizzo di un modello cloud.
In alternativa, se vuoi ottenere il meglio di entrambi i mondi, puoi utilizzare l'inferenza ibrida per scegliere dinamicamente un modello cloud o on-device in fase di runtime. Ciò ci consente di ridurre i costi spostando l'inferenza sul dispositivo quando è disponibile, ma allo stesso tempo di supportare tutti i dispositivi Android su cui è in esecuzione l'app.
In Jetpacker, abbiamo implementato diverse funzionalità utilizzando l'inferenza cloud o ibrida:
- La funzionalità Domande e risposte sui luoghi risponde alle domande degli utenti su luoghi specifici basando le risposte su dati reali. Utilizza Firebase AI Logic integrato con Google Maps e il contesto web. L'utilizzo di un modello cloud è necessario in questo caso per la sua maggiore conoscenza del mondo.
- La funzionalità di bozza della recensione aiuta gli utenti a comporre recensioni dettagliate dei luoghi che hanno visitato. Sfrutta i modelli on-device e cloud tramite la nuova API di inferenza ibrida di Firebase AI Logic. Volevamo rendere questa funzionalità disponibile a tutti gli utenti dell'app, quindi utilizziamo un modello cloud come fallback quando un modello sul dispositivo non è disponibile.
- La traduzione automatica della chat traduce dinamicamente i messaggi della chat in tempo reale per facilitare la comunicazione, dimostrando una logica di inferenza ibrida personalizzata. Ancora una volta, vogliamo che questa funzionalità sia disponibile per tutti gli utenti dell'app, ma allo stesso tempo abbiamo alcune considerazioni specifiche su quando scegliere l'elaborazione sul dispositivo rispetto al cloud.
Integrazione del sistema
Sebbene non sia una funzionalità visibile nell'app stessa, l'integrazione del sistema Android apre le funzionalità principali dell'app direttamente al sistema operativo Android. Utilizza l'API AppFunctions per l'integrazione con l'intelligenza a livello di sistema.
Workflow agentici in-app (disponibili a breve)
L'agentività introduce un livello più elevato di autonomia, consentendo ai modelli di agire come agenti. Invece di una singola chiamata di inferenza, un agente lavora per raggiungere un obiettivo specifico tramite un ciclo di orchestrazione che gli consente di ragionare, utilizzare strumenti e adattare il proprio percorso. A seconda dei tuoi requisiti, questi agenti intelligenti possono essere eseguiti nel cloud, direttamente sul dispositivo o in una configurazione ibrida.
Per Jetpacker abbiamo aggiunto un assistente alla prenotazione che automatizza i workflow di prenotazione end-to-end direttamente all'interno dell'applicazione per semplificare le prenotazioni. È creato utilizzando A2UI e ADK in esecuzione nel cloud. L'app per Android funge da front-end per il sistema multi-agente in esecuzione nel cloud.
Scopri di più
Dai un'occhiata alle altre parti di questa serie di post del blog:
Parte 1 (questo post): Introduzione dell'app e panoramica generale.
Parte 2: intelligence on-device. Approfondimento sulle API GenAI di ML Kit e Gemini Nano per creare funzionalità incentrate sulla privacy, come il riepilogo dell'itinerario, l'analisi delle ricevute e l'elaborazione audio locale.
Parte 3: ragionamento ibrido e sul cloud. Scopri come utilizzare Firebase AI Logic per basare le risposte degli LLM su dati reali come Google Maps e il contesto web.
Parte 4: integrazione del sistema. Integrazione con il sistema di intelligence di Android utilizzando AppFunctions.
Parte 5 (disponibile a breve): workflow basati su agenti in-app. Estendi l'app con un assistente per le prenotazioni end-to-end basato su A2UI e ADK.
Ti interessa saperne di più sullo sviluppo per Android? Segui Android Developers su YouTube o LinkedIn.
-
IstruzioniBentornato alla serie di post del blog "Crea app per Android intelligenti", in cui prendiamo un'app per Android di base e la trasformiamo in un'esperienza personalizzata, intelligente e basata su agenti.
Thomas Ezan, Jolanda Verhoef, Caren Chang • Lettura di 8 minuti -
IstruzioniBentornato alla serie di post del blog "Crea app per Android intelligenti", in cui prendiamo un'app per Android di base e la trasformiamo in un'esperienza personalizzata, intelligente e basata su agenti. Nel post precedente abbiamo presentato Jetpacker, l'app demo che utilizzeremo in questa serie.
Caren Chang • Lettura di 6 minuti -
IstruzioniBentornato alla serie di post del blog "Crea app per Android intelligenti", in cui prendiamo un'app per Android di base e la trasformiamo in un'esperienza personalizzata, intelligente e basata su agenti. Nel post precedente, abbiamo esplorato come utilizzare Firebase AI Logic per creare funzionalità di AI ibrida e ospitata sul cloud.
Ben Weiss • Lettura di 6 minuti
Ricevi ogni settimana gli ultimi approfondimenti sullo sviluppo per Android direttamente nella tua casella di posta.