Anda dapat membuat aplikasi dan fitur Apple berteknologi AI dengan inferensi hibrida menggunakan Firebase AI Logic. Inferensi hybrid memungkinkan inferensi berjalan menggunakan model di perangkat (khususnya framework Model Dasar Apple) jika tersedia dan melakukan failover dengan lancar ke model Google yang dihosting di cloud jika tidak tersedia (dan sebaliknya).
Halaman ini menjelaskan cara mulai menggunakan SDK klien, serta menunjukkan 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. Penggunaannya diatur oleh Persyaratan penggunaan yang dapat diterima untuk framework Model Dasar Apple.
Kasus penggunaan yang direkomendasikan
Penggunaan model di perangkat untuk inferensi menawarkan:
- Privasi yang ditingkatkan
- Inferensi tanpa biaya
- Fungsi offline
Menggunakan penawaran fungsi hybrid:
- 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 Anda 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 pilihan Anda (Gemini Developer API atau Vertex AI Gemini API).
Inferensi di perangkat menggunakan framework Model Foundation 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 setiap permintaan perintah yang didukung yang ingin Anda kirim.
Langkah 1: Siapkan project Firebase dan hubungkan aplikasi Anda ke Firebase
Login ke konsol Firebase, lalu pilih project Firebase Anda.
Di konsol Firebase, buka AI Services > AI Logic.
Klik Mulai untuk meluncurkan alur kerja terpandu yang membantu Anda menyiapkan API dan resource yang diperlukan untuk project Anda.
Siapkan project Anda untuk menggunakan penyedia "Gemini API".
Sebaiknya mulai menggunakan Gemini Developer API. Kapan saja, Anda selalu dapat menyiapkan Vertex AI Gemini API (dan persyaratan penagihannya).
Untuk Gemini Developer API, konsol akan mengaktifkan API yang diperlukan dan membuat kunci API Gemini di project Anda.
Jangan tambahkan kunci API Gemini ini ke codebase aplikasi Anda. Pelajari lebih lanjut.Jika diminta dalam alur kerja konsol, ikuti petunjuk di layar untuk mendaftarkan aplikasi 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 hibrida 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 untuk melihat konten dan kode khusus penyedia di halaman ini. |
Siapkan hal berikut sebelum Anda mengirim permintaan perintah ke model.
Lakukan inisialisasi layanan untuk penyedia Gemini API pilihan Anda.
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 akan hanya mencoba inferensi dalam perangkat atau dalam cloud. Namun, untuk pengalaman hybrid, Anda perlu membuatHybridModeldan menetapkan modelprimarydansecondary.Pelajari lebih lanjut perilaku "mode inferensi" (urutan inferensi yang dicoba) 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 bagian Mulai 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 bagian Mulai 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
mengalirkan teks yang dihasilkan 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 di cloud digunakan.
Gunakan konfigurasi model untuk mengontrol respons (seperti temperatur).
Fitur yang belum didukung untuk inferensi hibrida atau di perangkat
Sebagai rilis eksperimental, tidak semua kemampuan Firebase AI Logic atau model yang dihosting di cloud didukung.
Berikut adalah yang tidak didukung untuk penerapan hybrid atau di perangkat: Model Imagen, Gemini Live API, dan template prompt. Selain itu, token jumlah tidak boleh diandalkan karena jumlahnya akan berbeda antara model yang dihosting di cloud dan model di perangkat, sehingga tidak ada penggantian yang intuitif.
Fitur berikut belum didukung untuk inferensi di perangkat. Jika Anda ingin menggunakan salah satu fitur ini, sebaiknya gunakan hanya model yang dihosting di cloud 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).
Menyediakan alat bawaan untuk model di perangkat guna membantu model membuat responsnya (seperti eksekusi kode, konteks URL, dan Grounding dengan Google Penelusuran)
Pemantauan AI di konsol Firebase 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 perangkat yang mengaktifkan Apple Intelligence.
Aplikasi Anda dapat menjalankan inferensi di perangkat hanya saat aplikasi berada di latar depan.
Memberikan masukan tentang pengalaman Anda dengan Firebase AI Logic