Gemini Nano consente di offrire esperienze di AI generativa avanzate senza aver bisogno di una connessione di rete o di inviare dati al cloud. L'AI on-device è un'ottima soluzione per i casi d'uso in cui i costi ridotti e le misure di protezione della privacy sono le tue principali preoccupazioni.
Per i casi d'uso on-device, puoi sfruttare il modello di base Gemini Nano di Google. Gemini Nano viene eseguito nel servizio di sistema AICore di Android, che sfrutta l'hardware del dispositivo per consentire una bassa latenza di inferenza e mantiene il modello aggiornato.
API GenAI di ML Kit
Le API di AI generativa di ML Kit sfruttano la potenza di Gemini Nano per aiutare le tue app a eseguire attività di AI generativa on-device. Queste API sono basate su AICore, un servizio di sistema Android che consente l'esecuzione on-device dei foundation model di AI generativa per facilitare funzionalità come la funzionalità dell'app migliorata e la privacy dell'utente migliorata tramite l'elaborazione dei dati in locale. Ulteriori informazioni.
Funzionalità principali
ML Kit organizza le sue funzionalità di AI generativa nelle seguenti categorie:
Generazione e agenti personalizzati
Lavora direttamente con il foundation model Gemini Nano per casi d'uso personalizzati:
- Accesso diretto al modello (utilizzando la classe
GenerativeModel): genera testo generato o output strutturato digitato da prompt multimodali o di solo testo personalizzati oppure gestisci la cronologia della chat a più turni direttamente utilizzando un oggettoList<Content>con i ruoliUSEReMODELe un valoresessionId. - Agentic Workflows (utilizzando la classe
AgentRunner): basati sulla classeGenerativeModel, automatizzano la gestione delle sessioni multi-turno (inclusa la cronologia delle conversazioni in memoria) e i loop di chiamate degli strumenti in più passaggi.
Voce e audio
Trascrivi, traduci e sintetizza l'audio vocale on-device:
- Riconoscimento vocale: trascrivi i contenuti audio parlati in testo nella stessa lingua.
- Traduzione vocale: traduci l'audio parlato in testo in un'altra lingua in tempo reale.
- Text-to-Speech: sintetizza audio dal suono naturale a partire dal testo.
Attività di testo e immagini
Utilizza API specifiche per le attività, ottimizzate per le attività comuni di visione, scrittura e ricerca tramite un'interfaccia di alto livello:
- Descrizione dell'immagine: genera una breve descrizione di un'immagine specifica.
- Riassunto: riassumi articoli o conversazioni sotto forma di elenco puntato.
- Correzione delle bozze: correggi le bozze di brevi messaggi chat.
- Riscrivere: riscrivi brevi messaggi chat con toni o stili diversi.
- Ricerca semantica: genera vector embedding per testo e immagini utilizzando l'API Embedding e abbinali ad AppSearch di AndroidX per trovare i contenuti in base al significato.
Competenze Android
Visualizza su GitHubUtilizza l'API Prompt di ML Kit
android skills add ml-kit-genai-prompt-apiArchitettura tramite AICore
In quanto modulo a livello di sistema, accedi ad AICore tramite una serie di API per eseguire l'inferenza on-device. Inoltre, AICore dispone di diverse funzionalità di sicurezza integrate, che garantiscono una valutazione approfondita rispetto ai nostri filtri di sicurezza. Il seguente diagramma illustra come un'app accede ad AICore per eseguire Gemini Nano on-device.
Mantieni i dati degli utenti privati e al sicuro
L'AI generativa on-device esegue i prompt localmente, eliminando le chiamate al server. In questo modo, la latenza di rete viene eliminata, ma la velocità di inferenza dipende dall'hardware del dispositivo. Questo approccio migliora la privacy mantenendo i dati sensibili sul dispositivo, consente la funzionalità offline e riduce i costi di inferenza.
AICore rispetta i principi di Private Compute Core, con le seguenti caratteristiche principali:
- Associazione di pacchetti limitata: AICore è isolato dalla maggior parte degli altri pacchetti, con eccezioni limitate per pacchetti di sistema specifici. Eventuali modifiche a questo elenco consentito possono essere apportate solo durante un aggiornamento OTA completo di Android.
- Accesso indiretto a internet: AICore non ha accesso diretto a internet. Tutte le richieste internet, inclusi i download dei modelli, vengono instradate tramite l'APK companion open source Private Compute Services. Le API all'interno di Private Compute Services devono dimostrare esplicitamente la loro natura incentrata sulla privacy.
Inoltre, AICore è progettato per isolare ogni richiesta e non memorizza alcun record dei dati di input o degli output risultanti dopo l'elaborazione per proteggere la privacy dell'utente. Per saperne di più, leggi il blog post An Introduction to Privacy and Safety for Gemini Nano.
Vantaggi dell'accesso ai foundation model di AI con AICore
AICore consente al sistema operativo Android di fornire e gestire i foundation model dell'AI. In questo modo, il costo di utilizzo di questi modelli di grandi dimensioni nella tua app si riduce notevolmente, principalmente per i seguenti motivi:
- Facilità di deployment: AICore gestisce la distribuzione di Gemini Nano e gestisce gli aggiornamenti futuri. Non devi preoccuparti di scaricare o aggiornare modelli di grandi dimensioni sulla rete, né dell'impatto sul budget di memoria del disco e di runtime della tua app.
- Inferenza accelerata: AICore sfrutta l'hardware on-device per accelerare l'inferenza. La tua app ottiene le migliori prestazioni su ogni dispositivo e non devi preoccuparti delle interfacce hardware sottostanti.
Quando utilizzare l'inferenza ibrida
Sebbene Gemini Nano sia ideale per le attività offline e sensibili alla privacy, presenta vincoli on-device come limiti di token, limitazioni hardware del dispositivo e limiti delle funzionalità del modello. In questi scenari, puoi utilizzare l'inferenza ibrida per bilanciare i workload di AI tra il dispositivo locale e il cloud.
Per garantire un'esperienza utente coerente su tutti i dispositivi e gestire query complesse, puoi utilizzare l'API Firebase AI Logic Hybrid. In questo modo, l'app può:
- Esegui il fallback in modo controllato: instrada automaticamente le richieste ai modelli Gemini Flash o Gemini Pro nel cloud quando Gemini Nano non è disponibile o non è supportato sul dispositivo dell'utente.
- Applica la sicurezza: proteggi l'inferenza cloud con Firebase App Check (e i relativi provider di attestazione supportati, come Play Integrity) e mantieni i prompt di sistema sensibili lato server.