Cihaz üzerinde ve bulutta barındırılan modellerle Apple uygulamalarında karma deneyimler oluşturma

Firebase AI Logic kullanarak hibrit çıkarım ile yapay zeka destekli Apple uygulamaları ve özellikleri oluşturabilirsiniz. Karma çıkarım, mümkün olduğunda cihaz üzerinde çalışan modelleri (özellikle Apple'ın Foundation Models çerçevesi) kullanarak çıkarım yapmanıza ve aksi takdirde bulutta barındırılan Google modellerine sorunsuz bir şekilde geçiş yapmanıza (veya tam tersi) olanak tanır.

Bu sayfada, istemci SDK'sını kullanmaya başlama ve sıcaklık gibi ek yapılandırma seçenekleri ve özellikler gösterilmektedir.

Firebase AI Logic üzerinden cihaz üzerinde çıkarım, Firebase AI Logic SDK 12.13.0 ve sonraki sürümlerini kullanan ve Apple Intelligence'ın etkin olduğu cihazlarda çalışan Apple uygulamaları için desteklenir. Apple'ın Temel Modeller çerçevesi için kabul edilebilir kullanım koşulları'na tabidir.

Önerilen kullanım alanları

  • Çıkarım için cihaz üzerinde model kullanmanın avantajları:

    • Gelişmiş gizlilik
    • Ücretsiz çıkarım
    • Çevrimdışı işlevler
  • Karma işlevsellik tekliflerini kullanma:

    • Son kullanıcının cihazından bağımsız olarak tüm müşterilere benzer bir uygulama deneyimi sunma
    • İnternet bağlantısı, kota sınırlamaları veya cihaz özelliklerinden bağımsız olarak üretken yapay zeka özelliklerinin kullanılabilirliğini artırma

Desteklenen özellikler, API'ler ve cihazlar

Firebase AI Logic'i kullanarak hibrit ve cihaz üzerinde çıkarım uygulamadan önce, Apple uygulamalarında hangi özelliklerin desteklendiğini anlamak için bu bölümü inceleyin.

Cihaz üzerinde çıkarım için desteklenen özellikler

Cihaz üzerinde çıkarım yalnızca metin oluşturmayı, özellikle de aşağıdaki metin oluşturma özelliklerini destekler:

Bu sayfanın alt kısmında yer alan henüz desteklenmeyen hibrit veya cihaz üzerinde çıkarım ile ilgili ayrıntılı listeyi inceleyin.

Desteklenen API'ler ve cihazlar

Başlayın

Desteklenen özellikler, API'ler ve cihazların açıklandığı yukarıdaki bölümü incelediğinizden emin olun.

Bu başlangıç adımlarında, göndermek istediğiniz desteklenen tüm istem istekleri için gerekli olan genel kurulum açıklanmaktadır.

1. adım: Firebase projesi oluşturun ve uygulamanızı Firebase'e bağlayın

  1. Firebase konsolunda oturum açın, ardından Firebase projenizi seçin.

  2. Firebase konsolunda AI Services (Yapay Zeka Hizmetleri) > AI Logic (Yapay Zeka Mantığı) bölümüne gidin.

  3. Projeniz için gerekli API'leri ve kaynakları ayarlamanıza yardımcı olan rehberli bir iş akışı başlatmak için Başlayın'ı tıklayın.

  4. İstenirse uygulamanızı kaydetmek ve Firebase yapılandırmanızı uygulamanıza eklemek için ekrandaki talimatları uygulayın.

  5. "Gemini API sağlayıcısı" seçmeniz istendiğinde, ücretsiz olarak hızlıca başlamanızı sağlayan Gemini Developer API'yi seçmenizi öneririz.

    Daha sonra istediğiniz zaman Agent Platform Gemini API (formerly Vertex AI)'ı ayarlayabilirsiniz (ve faturalandırma için gerekli olan bilgileri girebilirsiniz).

  6. Firebase AI Logic için gerekli API'leri ve ilişkili hizmetleri ayarlamak üzere iş akışına devam edin.

    Temmuz 2026'nın başından itibaren iş akışının bu aşaması, AI Logic için Firebase App Check'i otomatik olarak zorunlu kılar. Bu, doğrudan uygulamanızdan erişildiğinde Gemini API korumaya yardımcı olan kritik bir hizmettir. Başlangıç kapsamında (bu kılavuzun ilerleyen bölümlerindeki adımlara bakın), App Check zorunlu kılındığında yerel geliştirme için App Check hata ayıklama sağlayıcısını yapılandırmanız gerekir.

  7. Gerekli SDK'ları uygulamanıza eklemek için bu kılavuzdaki sonraki adıma geçin.

2. adım: Gerekli SDK'ları ekleyin

Xcode bağımlılıklarını yüklemek ve yönetmek için Swift Package Manager'ı (SPM) kullanın. Karma destek yalnızca SPM kullanılırken kullanılabilir.

Firebase AI Logic kitaplığı, üretken modellerle etkileşim kurmak için API'lere erişim sağlar. Kitaplık, Apple platformları için Firebase SDK'sının (firebase-ios-sdk) bir parçası olarak dahil edilir.

Firebase'i zaten kullanıyorsanız Firebase paketinizin 12.13.0 veya sonraki bir sürüm olduğundan emin olun.

  1. Xcode'da uygulama projeniz açıkken File > Add Package Dependencies'e (Dosya > Paket Bağımlılıkları Ekle) gidin.

  2. İstendiğinde Firebase Apple platformları SDK deposunu ekleyin:

    https://github.com/firebase/firebase-ios-sdk
    
  3. En son SDK sürümünü seçin.

  4. FirebaseAILogic ve FirebaseAppCheck kitaplıklarını seçin.

İşlem tamamlandığında Xcode, arka planda bağımlılıklarınızı otomatik olarak çözmeye ve indirmeye başlar.

3. adım: Yerel geliştirme için App Check hata ayıklama sağlayıcısını yapılandırın

Temmuz 2026'nın başlarından itibaren, konsolda AI Logic için rehberli kurulum iş akışının bir parçası olarak Firebase App Check, Gemini API'yi korumak için otomatik olarak zorunlu kılınacak. Yerel geliştirme için, App Check yaptırımını sürdürürken onaylamayı atlamak üzere App Check hata ayıklama sağlayıcısını yapılandırmanız gerekir.

uygulayın.

Uygulamanızı bir simülatörde etkileşimli olarak (ör. yerel geliştirme sırasında) çalıştırırken hata ayıklama sağlayıcısını kullanma adımları aşağıda verilmiştir:

  1. Xcode projenizde FirebaseAppCheck içe aktarın ve hata ayıklama sağlayıcı fabrikası ile App Check ilk kullanıma hazırlayın önce Firebase yapılandırın.

    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. Hata ayıklama jetonunuzu alın:

    1. Uygulamanızı simülatörde veya test cihazınızda başlatın.

    2. Xcode konsolunu açın ve App Check hata ayıklama jetonunu bulun. Örneğin:

      <Warning> [AppCheckCore][I-GAC004001] App Check debug token: '123a4567-b89c-12d3-e456-789012345678'.
      
    3. Jetonu (ör. 123a4567-b89c-12d3-e456-789012345678) kopyalayın.

  3. Hata ayıklama jetonunuzu App Check ile kaydedin:

    1. Firebase konsolunda Güvenlik > Uygulama Kontrolü > Uygulamalar sekmesine gidin.

    2. Uygulamanızı bulun, taşma menüsünü () tıklayın ve ardından Hata ayıklama jetonlarını yönet'i seçin.

    3. Hata ayıklama jetonunuzu kaydetmek için ekrandaki talimatları uygulayın.

Hata ayıklama sağlayıcısı hakkında ayrıntılı bilgi (yeni hata ayıklama jetonu edinme dahil) için resmi App Check belgeleri inceleyin.

4. adım: Hizmeti ilk kullanıma hazırlayın ve bir model oturumu örneği oluşturun.

Bu sayfada sağlayıcıya özel içerikleri ve kodu görüntülemek için Gemini API sağlayıcınızı tıklayın.

Modele istem isteği göndermeden önce aşağıdakileri ayarlayın.

  1. Seçtiğiniz Gemini API sağlayıcısı için hizmeti başlatın.

  2. HybridModel ile bir GenerativeModelSession örneği oluşturun.

  3. primary ve secondary modellerini tercihlerinize göre ayarlayın. Deneme çıkarımı sırasını ayarlayabilirsiniz:

    • Öncelikle cihaz üzerinde çıkarım yapmayı deneyin ancak buluta geri dönüşe izin verin: primary değerini "system" modeline, secondary değerini ise bulut modeline ayarlayın.

    • Önce bulutta çıkarım yapmayı deneyin ancak cihaz üzerinde çıkarıma geçişe izin verin: primary değerini bir bulut modeline, secondary değerini ise "sistem" modeline ayarlayın.

    SDK'nın yalnızca tek bir model ayarını desteklediğini unutmayın. Bu, SDK'nın yalnızca cihaz üzerinde veya bulutta çıkarım yapmaya çalışacağı anlamına gelir. Ancak karma bir deneyim için HybridModel oluşturmanız ve hem primary hem de secondary modellerini ayarlamanız gerekir.

    Yapılandırma seçenekleri bölümünde "çıkarım modlarının" davranışı (çıkarım deneme sırası) hakkında daha fazla bilgi edinin.

Aşağıdaki örnekte, önce cihaz üzerinde çıkarım yapmaya çalışmanın ancak bulutta barındırılan modele geri dönmeye izin vermenin nasıl yapılacağı gösterilmektedir:

// 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,
)

5. adım: Bir modele istem isteği gönderme

Bu bölümde aşağıdakileri nasıl yapacağınız gösterilmektedir:

Yalnızca metin içeren girişten metin oluşturma

Bu örneği denemeden önce bu kılavuzun Başlarken bölümünü tamamladığınızdan emin olun.

Metin içeren bir istemden metin oluşturmak için respond(to:) simgesini şu şekilde kullanın:

// 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)

Yalnızca metin içeren girişten metin akışı oluşturma

Bu örneği denemeden önce bu kılavuzun Başlarken bölümünü tamamladığınızdan emin olun.

Model üretiminden elde edilen sonucun tamamını beklemeyerek daha hızlı etkileşimler elde edebilir ve kısmi sonuçları işlemek için akışı kullanabilirsiniz. Metin içeren bir istemden oluşturulan metni aktarmak için streamResponse(to:) simgesini şu şekilde kullanın:

// 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)
}

Başka ne yapabilirsiniz?

Hibrit deneyimleriniz için çeşitli ek yapılandırma seçenekleri ve özelliklerinden yararlanabilirsiniz:

Karma veya cihaz üzerinde çıkarım için henüz desteklenmeyen özellikler

Deneysel bir sürüm olduğundan Firebase AI Logic veya bulutta barındırılan modellerin tüm özellikleri desteklenmez.

  • Aşağıdakiler karma veya cihaz üzerinde uygulamalar için desteklenmez: Gemini Live API ve sunucu istem şablonları. Ayrıca, sayım jetonlarına güvenilmemelidir. Çünkü sayım, bulutta barındırılan ve cihaz üzerinde modeller arasında farklılık gösterir. Bu nedenle, sezgisel bir geri dönüş yoktur.

  • Aşağıdaki özellikler henüz cihaz üzerinde çıkarım için desteklenmemektedir. Bu özelliklerden herhangi birini kullanmak istiyorsanız daha tutarlı bir deneyim için yalnızca bulutta barındırılan bir model kullanmanızı öneririz.

    • Görseller, ses, video ve dokümanlar (PDF'ler) gibi çok formatlı girişlerden oluşturulan metin

    • Resim, ses veya video gibi medya içerikleri oluşturma

    • 4.096 jetonu (veya yaklaşık 3.000 İngilizce kelime) aşan istekler gönderme.

    • Cihaz üzerinde çalışan modele, yanıtını oluşturmasına yardımcı olacak yerleşik araçlar (ör. kod yürütme, URL bağlamı ve Google Arama ile temellendirme) sağlama

  • Firebase konsolundaki yapay zeka izleme özelliği, cihaz üzerinde çıkarım (cihaz üzerinde günlükler dahil) ile ilgili herhangi bir veri göstermez. Ancak, bulutta barındırılan bir modelin kullanıldığı tüm çıkarımlar, Firebase AI Logic aracılığıyla diğer çıkarımlar gibi izlenebilir.

Ek sınırlamalar

Yukarıdakilere ek olarak, cihaz üzerinde çıkarım aşağıdaki sınırlamalara sahiptir:


Firebase AI Logic ile ilgili deneyiminiz hakkında geri bildirim verme