Anda dapat membuat aplikasi dan fitur Apple yang didukung AI dengan inferensi hybrid menggunakan Firebase AI Logic. Inferensi hybrid memungkinkan menjalankan inferensi menggunakan model di perangkat (khususnya framework Model Dasar Apple) jika tersedia dan otomatis beralih ke model Google yang dihosting di cloud jika tidak tersedia (dan sebaliknya).
Halaman ini menjelaskan cara memulai penggunaan SDK klien, serta menampilkan opsi dan kemampuan konfigurasi tambahan, seperti suhu.
Perhatikan bahwa inferensi di perangkat melalui Firebase AI Logic didukung untuk aplikasi Apple yang menggunakan Firebase AI Logic SDK v12.13.0+ dan berjalan di perangkat dengan Apple Intelligence diaktifkan. Fitur ini diatur oleh Persyaratan penggunaan yang dapat diterima untuk framework Model Dasar Apple.
Kasus penggunaan yang direkomendasikan
Menggunakan model di perangkat untuk inferensi menawarkan:
- Privasi yang ditingkatkan
- Inferensi tanpa biaya
- Fungsi offline
Menggunakan fungsi hybrid menawarkan:
- Memberikan pengalaman aplikasi yang serupa kepada semua pelanggan, terlepas dari perangkat pengguna akhir
- Meningkatkan ketersediaan fitur AI generatif, terlepas dari konektivitas internet, batasan kuota, atau kemampuan perangkat
Kemampuan, API, dan perangkat yang didukung
Sebelum menerapkan inferensi hybrid dan di perangkat menggunakan Firebase AI Logic, tinjau bagian ini untuk memahami apa yang didukung untuk aplikasi Apple.
Kemampuan dan fitur yang didukung untuk inferensi di perangkat
Inferensi di perangkat hanya mendukung pembuatan teks, khususnya kemampuan pembuatan teks berikut:
Pastikan untuk meninjau daftar mendetail untuk inferensi hybrid atau di perangkat yang belum didukung di bagian bawah halaman ini.
API dan perangkat yang didukung
Inferensi dalam cloud menggunakan penyedia Gemini API yang Anda pilih (baik Gemini Developer API maupun Vertex AI Gemini API).
Inferensi di perangkat menggunakan framework Model Dasar Apple, yang hanya tersedia di perangkat dengan Apple Intelligence diaktifkan. Model di perangkat akan otomatis didownload saat Apple Intelligence diaktifkan.
Mulai
Pastikan Anda telah meninjau bagian di atas yang menjelaskan kemampuan, API, dan perangkat yang didukung.
Langkah-langkah memulai ini menjelaskan penyiapan umum yang diperlukan untuk permintaan perintah yang didukung yang ingin Anda kirim.
Langkah 1: Siapkan project Firebase dan hubungkan aplikasi Anda ke Firebase
Login ke Firebase console, lalu pilih project Firebase Anda.
Di Firebase console, buka AI Services > AI Logic.
Klik Get started untuk meluncurkan alur kerja terpandu yang membantu Anda menyiapkan API yang diperlukan dan resource untuk project Anda.
Siapkan project Anda untuk menggunakan penyedia "Gemini API".
Sebaiknya mulai menggunakan Gemini Developer API. Kapan saja, Anda dapat selalu menyiapkan Vertex AI Gemini API (dan persyaratannya untuk penagihan).
Untuk Gemini Developer API, konsol akan mengaktifkan API yang diperlukan dan membuat kunci Gemini API di project Anda.
Jangan tambahkan kunci Gemini API ini ke codebase aplikasi Anda. Pelajari lebih lanjut.Jika diminta dalam alur kerja konsol, ikuti petunjuk di layar untuk mendaftarkan aplikasi Anda dan menghubungkannya ke Firebase.
Lanjutkan ke langkah berikutnya dalam panduan ini untuk menambahkan SDK ke aplikasi Anda.
Langkah 2: Tambahkan SDK yang diperlukan
Gunakan Swift Package Manager (SPM) untuk menginstal dan mengelola dependensi Xcode. Dukungan hybrid hanya tersedia saat menggunakan SPM.
Library Firebase AI Logic menyediakan akses ke API untuk berinteraksi
dengan model generatif. Library ini disertakan sebagai bagian dari Firebase SDK untuk platform Apple (firebase-ios-sdk).
Jika Anda sudah menggunakan Firebase, pastikan paket Firebase Anda adalah v12.13.0 atau yang lebih baru.
Di Xcode, dengan project aplikasi Anda dalam keadaan terbuka, buka File > Add Package Dependencies.
Saat diminta, tambahkan repositori SDK platform Apple Firebase:
https://github.com/firebase/firebase-ios-sdkPilih versi SDK terbaru.
Pilih library
FirebaseAILogic.
Setelah selesai, Xcode akan otomatis mulai me-resolve dan mendownload dependensi Anda di latar belakang.
Langkah 3: Lakukan inisialisasi layanan dan buat instance sesi model
|
Klik penyedia Gemini API Anda untuk melihat konten khusus penyedia dan kode di halaman ini. |
Siapkan hal berikut sebelum Anda mengirim permintaan perintah ke model.
Lakukan inisialisasi layanan untuk penyedia Gemini API yang Anda pilih.
Buat instance
GenerativeModelSessiondenganHybridModel.Tetapkan model
primarydansecondaryberdasarkan preferensi Anda. Anda dapat menetapkan urutan inferensi yang dicoba:Coba inferensi di perangkat terlebih dahulu, tetapi izinkan penggantian ke cloud: tetapkan
primaryke model "sistem" dansecondaryke model cloud.Coba inferensi dalam cloud terlebih dahulu, tetapi izinkan penggantian ke perangkat: tetapkan
primaryke model cloud dansecondaryke model "sistem".
Perhatikan bahwa SDK mendukung penetapan hanya satu
modelyang berarti SDK hanya akan mencoba inferensi di perangkat atau dalam cloud. Namun, untuk pengalaman hybrid, Anda perlu membuatHybridModeldan menetapkan modelprimarydansecondary.Pelajari lebih lanjut perilaku "mode inferensi" (urutan inferensi yang dicoba inferensi) di Opsi konfigurasi.
Contoh berikut menunjukkan cara mencoba inferensi di perangkat terlebih dahulu, tetapi mengizinkan penggantian ke model yang dihosting di cloud:
// Initialize the Gemini Developer API backend service
let ai = FirebaseAI.firebaseAI(backend: .googleAI())
// Initialize a cloud model that supports your use case
let cloudModel = ai.geminiModel(name: "GEMINI_MODEL_NAME")
// Initialize an on-device model that supports your use case
let systemModel = FirebaseAI.SystemLanguageModel.default
// Create a Hybrid Model
// Provide your preferred model as `primary` and your fallback model as `secondary`
// In this example, attempt to use on-device model; otherwise, fall back to cloud.
let hybridModel = HybridModel(
primary: systemModel,
secondary: cloudModel
)
// Create a GenerativeModelSession with the HybridModel created earlier.
let session = firebaseAI.generativeModelSession(
model: hybridModel,
)
Langkah 4: Kirim permintaan perintah ke model
Bagian ini menunjukkan cara melakukan hal berikut:
Membuat teks dari input khusus teks
| Sebelum mencoba contoh ini, pastikan Anda telah menyelesaikan Memulai bagian dalam panduan ini. |
Untuk membuat teks dari perintah yang berisi teks, gunakan respond(to:) seperti berikut:
// Imports + initialization of Gemini API backend service + creation of model session
// Provide a prompt that contains text
let prompt = "Write a story about a magic backpack."
// To generate text output, call `respond(to:)` with the text input
let response = try await session.respond(to: prompt)
print(response.content)
Streaming teks dari input khusus teks
| Sebelum mencoba contoh ini, pastikan Anda telah menyelesaikan Memulai bagian dalam panduan ini. |
Anda dapat mencapai interaksi yang lebih cepat dengan tidak menunggu seluruh hasil dari pembuatan model, dan menggunakan streaming untuk menangani hasil parsial. Untuk streaming teks yang dibuat dari perintah yang berisi teks, gunakan streamResponse(to:) seperti berikut:
// Imports + initialization of Gemini API backend service + creation of model session
// Provide a prompt that contains text
let prompt = "Write a story about a magic backpack."
// To stream generated text output, call `streamResponse(to:)` with the text input
let stream = session.streamResponse(to: prompt)
for try await snapshot in stream {
print(snapshot.content)
}
Kamu bisa apa lagi?
Anda dapat menggunakan berbagai opsi dan kemampuan konfigurasi tambahan untuk pengalaman hybrid:
Menentukan apakah inferensi di perangkat atau dalam cloud digunakan.
Menggunakan konfigurasi model untuk mengontrol respons (seperti suhu).
Fitur yang belum didukung untuk inferensi hybrid atau di perangkat
Sebagai rilis eksperimental, tidak semua kemampuan Firebase AI Logic atau model yang dihosting di cloud didukung.
Berikut ini tidak didukung untuk implementasi hybrid atau di perangkat implementasi: model Imagen, Gemini Live API, dan template perintah. Selain itu, token hitungan tidak boleh diandalkan karena hitungannya akan berbeda antara model yang dihosting di cloud dan di perangkat, sehingga tidak ada penggantian yang intuitif.
Fitur berikut belum didukung untuk inferensi di perangkat. Jika ingin menggunakan salah satu fitur ini, sebaiknya gunakan model yang dihosting di cloud saja untuk pengalaman yang lebih konsisten.
Membuat teks dari input multimodal, seperti gambar, audio, video, dan dokumen (PDF)
Membuat media, seperti gambar, audio, atau video
Mengirim permintaan yang melebihi 4.096 token (atau sekitar 3.000 kata dalam bahasa Inggris).
Memberikan alat bawaan kepada model di perangkat untuk membantunya membuat respons (seperti eksekusi kode, konteks URL, dan Grounding dengan Google Penelusuran)
Pemantauan AI di Firebase konsol tidak menampilkan data apa pun untuk inferensi di perangkat (termasuk log di perangkat). Namun, inferensi apa pun yang menggunakan model yang dihosting di cloud dapat dipantau seperti inferensi lainnya melalui Firebase AI Logic.
Batasan tambahan
Selain hal di atas, inferensi di perangkat memiliki batasan berikut:
Pengguna akhir aplikasi Anda harus menggunakan a perangkat dengan Apple Intelligence diaktifkan.
Aplikasi Anda hanya dapat menjalankan inferensi di perangkat saat aplikasi berada di latar depan.
Berikan masukan tentang pengalaman Anda dengan Firebase AI Logic