Membangun pengalaman hybrid di aplikasi Apple dengan model yang dihosting di perangkat dan cloud

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 kapabilitas konfigurasi tambahan, seperti temperatur.

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

  • Menggunakan 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 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

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

  1. Login ke konsol Firebase, lalu pilih project Firebase Anda.

  2. Di konsol Firebase, buka AI Services > AI Logic.

  3. Klik Mulai untuk meluncurkan alur kerja terpandu yang membantu Anda menyiapkan API yang diperlukan dan resource untuk project Anda.

  4. Jika diminta, ikuti petunjuk di layar untuk mendaftarkan aplikasi dan menambahkan konfigurasi Firebase ke aplikasi.

  5. Saat diminta untuk memilih "penyedia Gemini API", sebaiknya pilih Gemini Developer API, yang memungkinkan Anda memulai dengan cepat tanpa biaya.

    Kapan pun setelahnya, Anda selalu dapat menyiapkan Agent Platform Gemini API (formerly Vertex AI) (dan persyaratan penagihannya).

  6. Lanjutkan alur kerja untuk menyiapkan API yang diperlukan dan layanan terkait untuk Firebase AI Logic.

    Mulai awal Juli 2026, tahap alur kerja ini akan otomatis menerapkan Firebase App Check untuk AI Logic, yang merupakan layanan penting untuk membantu melindungi Gemini API saat diakses langsung dari aplikasi Anda. Sebagai bagian dari memulai (lihat langkah-langkah selanjutnya dalam panduan ini), Anda harus mengonfigurasi penyedia debug App Check untuk pengembangan lokal saat App Check diterapkan.

  7. Lanjutkan ke langkah berikutnya dalam panduan ini untuk menambahkan SDK yang diperlukan 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.

  1. Di Xcode, dengan project aplikasi Anda dalam keadaan terbuka, buka File > Add Package Dependencies.

  2. Saat diminta, tambahkan repositori SDK platform Apple Firebase:

    https://github.com/firebase/firebase-ios-sdk
    
  3. Pilih versi SDK terbaru.

  4. Pilih library FirebaseAILogic dan FirebaseAppCheck.

Setelah selesai, Xcode akan otomatis mulai me-resolve dan mendownload dependensi Anda di latar belakang.

Langkah 3: Konfigurasi penyedia debug App Check untuk pengembangan lokal

Mulai awal Juli 2026, sebagai bagian dari alur kerja penyiapan terpandu untuk AI Logic di konsol, Firebase App Check akan otomatis diterapkan untuk melindungi Gemini API. Untuk pengembangan lokal, Anda perlu mengonfigurasi App Check penyedia debug untuk melewati pengesahan sambil tetap mempertahankan penerapan App Check.

Berikut cara menggunakan penyedia debug saat menjalankan aplikasi Anda di simulator secara interaktif (misalnya, selama pengembangan lokal):

  1. Di project Xcode, impor FirebaseAppCheck dan lakukan inisialisasi App Check dengan factory penyedia debug sebelum Anda mengonfigurasi Firebase.

    import SwiftUI
    import FirebaseCore
    import FirebaseAppCheck
    
    @main
    struct YourApp: App {
      init() {
        let providerFactory = AppCheckDebugProviderFactory()
        AppCheck.setAppCheckProviderFactory(providerFactory)
        FirebaseApp.configure()
      }
    
      var body: some Scene {
        WindowGroup {
          NavigationView {
            ContentView()
          }
        }
      }
    }
    
  2. Dapatkan token debug Anda:

    1. Luncurkan aplikasi di simulator atau di perangkat pengujian Anda.

    2. Buka konsol Xcode dan cari token debug App Check. Contoh:

      <Warning> [AppCheckCore][I-GAC004001] App Check debug token: '123a4567-b89c-12d3-e456-789012345678'.
      
    3. Salin token (misalnya, 123a4567-b89c-12d3-e456-789012345678).

  3. Daftarkan token debug Anda dengan App Check:

    1. Di konsol Firebase, buka Keamanan > App Check > tab Aplikasi.

    2. Temukan aplikasi Anda, klik menu tambahan (), lalu pilih Kelola token debug.

    3. Ikuti petunjuk di layar untuk mendaftarkan token debug Anda.

Untuk mengetahui detail tentang penyedia debug (termasuk cara mendapatkan token debug baru), lihat dokumen App Check resmi.

Langkah 4: 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.

  1. Lakukan inisialisasi layanan untuk penyedia Gemini API pilihan Anda.

  2. Buat instance GenerativeModelSession dengan HybridModel.

  3. Tetapkan model primary dan secondary berdasarkan preferensi Anda. Anda dapat menetapkan urutan inferensi yang dicoba:

    • Coba inferensi di perangkat terlebih dahulu, tetapi izinkan penggantian ke cloud: tetapkan primary ke model "sistem" dan secondary ke model cloud.

    • Coba inferensi dalam cloud terlebih dahulu, tetapi izinkan penggantian ke di perangkat: tetapkan primary ke model cloud dan secondary ke model "sistem".

    Perhatikan bahwa SDK mendukung penetapan hanya satu model yang berarti SDK akan hanya mencoba inferensi di perangkat atau di cloud. Namun, untuk pengalaman hybrid, Anda perlu membuat HybridModel dan menetapkan model primary dan secondary.

    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 5: 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 hibrida:

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:


Memberikan masukan tentang pengalaman Anda dengan Firebase AI Logic