Le API GenAI 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 gestisce i foundation model on-device e accelera l'inferenza, mantenendo privati i dati degli utenti.
I Termini di servizio aggiuntivi dell'API GenAI di ML Kit si applicano all'utilizzo delle API GenAI. Gli sviluppatori sono gli unici responsabili della sicurezza del proprio client API e dell'esperienza utente della propria app.
Funzionalità chiave
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 prompt personalizzati e workflow agentici autonomi:
- Accesso diretto al modello (utilizzando la classe
GenerativeModel): genera testo generato o output strutturato digitato da prompt personalizzati solo di testo o prompting multimodale oppure gestisci direttamente la cronologia della chat a più turni utilizzando un oggettoList<Content>con ruoliUSEReMODELe un valoresessionId, nonché gestisci direttamente le dichiarazioni degli strumenti. - 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.
- Sintesi vocale: sintetizza audio vocale dal suono naturale dal testo.
Attività di testo e immagini
Utilizza API specifiche per le attività ottimizzate per le attività comuni di visione, scrittura e ricerca senza prompt engineering:
- Descrizione dell'immagine: genera una breve descrizione di un'immagine specifica.
- Riassunto: riassumi articoli o conversazioni in chat sotto forma di elenco puntato.
- Correzione bozze: perfeziona i contenuti brevi migliorando la grammatica e correggendo gli errori di ortografia.
- Riscrittura: riscrivi brevi messaggi 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.
Vantaggi delle API di AI generativa
Analogamente ad altre funzionalità di ML Kit esistenti, le API di AI generativa vengono eseguite interamente on-device e offrono quindi i seguenti vantaggi:
- I dati di input, inferenza e output vengono elaborati localmente
- La funzionalità rimane la stessa senza una connessione a internet affidabile
- Nessun costo aggiuntivo per il server per ogni chiamata API
Inoltre, poiché le API GenAI sono basate su AICore e su Gemini Nano, le app e le API specifiche per le attività condividono lo stesso modello di base Gemini Nano sul dispositivo. In questo modo, non è necessario attendere il download di un modello separato se Gemini Nano esiste già su un dispositivo, risparmiando spazio di archiviazione. Scopri di più su come AICore isola le richieste per proteggere la privacy.
Streaming e non streaming
Le API GenAI di ML Kit offrono opzioni di streaming e non streaming per la ricezione dei risultati. L'API di streaming fornisce le risposte in modo incrementale man mano che vengono generate, fornendo un flusso continuo di dati. Al contrario, l'API non in streaming attende il completamento dell'intera risposta prima di restituirla come un singolo blocco.
Scegli l'API di streaming per risposte lunghe, in quanto consente un feedback iniziale più rapido. L'API non in streaming è più adatta per risposte brevi o per l'elaborazione dei risultati in batch.
Assistenza per i dispositivi
Il supporto dei dispositivi per la generazione personalizzata, gli agenti e le API Tasks per le attività di testo e immagini è descritto nelle sezioni seguenti. Per le funzionalità non elencate in questa sezione, consulta le singole pagine delle funzionalità per informazioni sul supporto dei dispositivi.
Generazione personalizzata e supporto dei dispositivi degli agenti
L'accesso diretto ai modelli e gli Agentic Workflow sono supportati sui seguenti dispositivi:
nano-v2 |
|
nano-v3 |
|
nano-v4 |
|
Supporto dei dispositivi per le attività di testo e immagini
Le API Image Description, Summarization, Proofreading e Rewriting sono disponibili sui seguenti dispositivi, con l'intenzione di estendere il supporto ad altri dispositivi:
- Google: Pixel 11, Pixel 11 Pro, Pixel 11 Pro XL, Pixel 11 Pro Fold, Pixel 10, Pixel 10 Pro, Pixel 10 Pro XL, Pixel 10 Pro Fold, Pixel 9, Pixel 9 Pro, Pixel 9 Pro XL, Pixel 9 Pro Fold
- Honor: Honor 400 Pro, Magic 7, Magic 7 Pro, Magic 8 Pro, Magic V5
- iQOO: iQOO 13, iQOO 15
- Lenovo: Lenovo Idea Tab Pro Gen 2, Lenovo Legion Tab Gen 5(8,8")
- Motorola: Razr 60 Ultra, Razr Ultra 2025, Signature
- OnePlus: OnePlus 15, OnePlus 15R, OnePlus 13, OnePlus 13s
- OPPO: Find N5, Find X9, Find X9 Pro, Find X8, Find X8 Pro, Reno 14 Pro 5G, Reno 15 Pro 5G, Reno 15 Pro Mini 5G, Reno 15 Pro Max 5G
- POCO: POCO F7 Ultra, POCO F8 Pro, POCO F8 Ultra, POCO X7 Pro, POCO X8 Pro
- realme: realme GT 7 Pro, realme GT 7T
- Samsung: Galaxy S25, Galaxy S25+, Galaxy S25 Ultra, Galaxy S26, Galaxy S26+, Galaxy S26 Ultra, Galaxy Z Flip8, Galaxy Z Fold8, Galaxy Z Fold8 Ultra, Galaxy Z Fold7, Galaxy Z TriFold
- Sharp: AQUOS R11
- Sony: Xperia 1 VIII
- vivo: vivo X200T, vivo X200 FE, vivo X200, vivo X200 Pro, vivo X300, X300 Pro, vivo X Fold3 Pro, vivo X Fold5, vivo T4 Ultra
- Xiaomi: Xiaomi 14T Pro, Xiaomi 15, Xiaomi 15T, Xiaomi 15T Pro, Xiaomi 15 Ultra, Xiaomi 17, Xiaomi 17 Ultra, Xiaomi Pad Mini
La disponibilità del supporto di lingue specifiche può variare a seconda della configurazione del dispositivo e dei modelli scaricati sul dispositivo.
Recupera la versione di Gemini Nano
Versioni diverse di Gemini Nano vengono eseguite su dispositivi diversi. Per restituire la
versione di Gemini Nano su un dispositivo, utilizza il metodo getBaseModelName().
Quota per applicazione
AICore applica una quota di inferenza per app. L'invio di troppe richieste API GenAI in un breve periodo comporterà una risposta ErrorCode.BUSY. Se ricevi un errore di questo tipo, valuta la possibilità di utilizzare il backoff esponenziale per riprovare la richiesta. Inoltre, ErrorCode.PER_APP_BATTERY_USE_QUOTA_EXCEEDED può essere restituito se un'app supera una quota di lunga durata (ad esempio, una quota giornaliera).
Utilizzo in background
L'inferenza dell'API GenAI è consentita solo quando l'app è l'applicazione in primo piano principale. L'utilizzo dell'API quando l'app non è in primo piano, incluso l'utilizzo di un servizio in primo piano, comporterà una risposta ErrorCode.BACKGROUND_USE_BLOCKED.
Codice campione
Per ottenere questo codice, consulta i seguenti esempi: