API GenAI ML Kit memanfaatkan kecanggihan Gemini Nano untuk membantu aplikasi Anda melakukan tugas AI generatif di perangkat. API ini dibuat di atas AICore, layanan sistem Android yang mengelola model dasar di perangkat dan mempercepat inferensi sekaligus menjaga privasi data pengguna.
Persyaratan Layanan Tambahan GenAI API ML Kit berlaku untuk penggunaan GenAI API. Developer bertanggung jawab sepenuhnya atas keamanan klien API dan pengalaman pengguna aplikasi mereka.
Kemampuan utama
ML Kit mengelompokkan kemampuan GenAI-nya ke dalam kategori berikut:
Agen dan pembuatan kustom
Bekerja langsung dengan model dasar Gemini Nano untuk perintah kustom dan alur kerja agen otonom:
- Akses model langsung (menggunakan class
GenerativeModel): Buat teks atau output terstruktur yang diketik dari perintah khusus teks atau multimodal, atau kelola histori chat multi-turn Anda sendiri secara langsung menggunakan objekList<Content>dengan peranUSERdanMODELserta nilaisessionId, dan kelola deklarasi alat secara langsung. - Agentic Workflows (menggunakan class
AgentRunner): Dibangun di atas classGenerativeModel, mengotomatiskan pengelolaan sesi multi-turn (termasuk histori percakapan dalam memori) dan loop panggilan alat multi-langkah.
Ucapan dan audio
Transkripsikan, terjemahkan, dan sintesis audio ucapan di perangkat:
- Pengenalan ucapan: Transkripsikan konten audio lisan menjadi teks dalam bahasa yang sama.
- Terjemahan ucapan: Menerjemahkan audio lisan menjadi teks dalam bahasa lain secara real time.
- Text to speech: Menyintesis audio ucapan yang terdengar alami dari teks.
Tugas teks dan gambar
Gunakan API khusus tugas yang dioptimalkan untuk tugas umum terkait visi, penulisan, dan penelusuran tanpa rekayasa perintah:
- Deskripsi gambar: Buat deskripsi singkat untuk gambar yang diberikan.
- Ringkasan: Meringkas artikel atau percakapan chat sebagai daftar berbutir.
- Pemeriksaan tata bahasa: Sempurnakan konten singkat dengan memperbaiki tata bahasa dan memperbaiki kesalahan ejaan.
- Menulis ulang: Menulis ulang pesan singkat dengan gaya bahasa atau gaya yang berbeda.
- Penelusuran semantik: Buat embedding vektor untuk teks dan gambar menggunakan Embedding API dan pasangkan dengan AppSearch AndroidX untuk menemukan konten berdasarkan makna.
Manfaat API AI Generatif
Serupa dengan fitur ML Kit lain yang sudah ada, API GenAI berjalan sepenuhnya di perangkat, sehingga memberikan manfaat berikut:
- Data input, inferensi, dan output diproses secara lokal
- Fungsi tetap sama tanpa koneksi internet yang andal
- Tidak ada biaya server tambahan yang dikenakan untuk setiap panggilan API
Selain itu, karena API AI Generatif dibangun di atas AICore dan didukung oleh Gemini Nano, aplikasi dan API khusus tugas menggunakan model dasar Gemini Nano yang sama di perangkat. Hal ini menghindari keharusan menunggu model terpisah didownload jika Gemini Nano sudah ada di perangkat, dan pada akhirnya menghemat ruang penyimpanan. Pelajari lebih lanjut cara AICore mengisolasi permintaan untuk melindungi privasi.
Streaming versus non-streaming
API GenAI ML Kit menawarkan opsi streaming dan non-streaming untuk menerima hasil. Streaming API mengirimkan respons secara bertahap saat respons tersebut dihasilkan, sehingga memberikan aliran data yang berkelanjutan. Sebaliknya, API non-streaming menunggu hingga seluruh respons selesai sebelum menampilkannya sebagai satu blok.
Pilih streaming API untuk respons yang panjang, karena memungkinkan masukan awal yang lebih cepat. API non-streaming lebih cocok untuk respons singkat atau saat memproses hasil dalam batch.
Dukungan perangkat
Dukungan perangkat untuk pembuatan kustom serta agen dan API tugas teks dan gambar dijelaskan di bagian berikut. Untuk fitur apa pun yang tidak tercantum di bagian ini, lihat halaman fitur masing-masing untuk mengetahui informasi dukungan perangkat.
Pembuatan kustom dan dukungan perangkat agen
Akses model langsung dan alur kerja agentic didukung di perangkat berikut:
nano-v2 |
|
nano-v3 |
|
nano-v4 |
|
Dukungan perangkat untuk tugas teks dan gambar
API Deskripsi Gambar, Ringkasan, Pemeriksaan Tata Bahasa, dan Penulisan Ulang tersedia di perangkat berikut, dengan rencana untuk memperluas dukungan ke perangkat tambahan:
- 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
Ketersediaan dukungan bahasa tertentu dapat bervariasi bergantung pada konfigurasi perangkat tertentu dan model yang telah didownload ke perangkat.
Mengambil versi Gemini Nano
Versi Gemini Nano yang berbeda berjalan di perangkat yang berbeda. Untuk menampilkan
versi Gemini Nano di perangkat, gunakan metode getBaseModelName().
Kuota per aplikasi
AICore menerapkan kuota inferensi per aplikasi. Membuat terlalu banyak
permintaan GenAI API dalam waktu singkat akan menghasilkan respons
ErrorCode.BUSY. Saat menerima error tersebut, pertimbangkan untuk menggunakan backoff eksponensial guna mencoba ulang permintaan. Selain itu, ErrorCode.PER_APP_BATTERY_USE_QUOTA_EXCEEDED dapat
ditampilkan jika aplikasi melebihi kuota berdurasi panjang (misalnya, kuota harian).
Penggunaan latar belakang
Inferensi GenAI API hanya diizinkan jika aplikasi adalah aplikasi latar depan
teratas. Menggunakan API saat aplikasi tidak berada di latar depan, termasuk
menggunakan layanan latar depan, akan menghasilkan respons
ErrorCode.BACKGROUND_USE_BLOCKED.
Kode contoh
Untuk mendapatkan kode ini, lihat contoh berikut: