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

Firebase AI Logic kullanarak hibrit çıkarımla yapay zeka destekli Apple uygulamaları ve özellikleri oluşturabilirsiniz. Karma çıkarım, cihaz üzerinde modeller (özellikle Apple'ın Foundation Models çerçevesi) kullanılarak çıkarım yapılmasına ve aksi takdirde sorunsuz bir şekilde bulutta barındırılan Google modellerine geri dönülmesine (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 SDK'sının 12.13.0 sürümü veya üzerini kullanan ve Apple Intelligence'ın etkin olduğu cihazlarda çalışan Apple uygulamaları için Firebase AI Logic üzerinden cihaz üzerinde çıkarımın desteklendiğini unutmayın. Apple'ın Foundation Models ç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şlevselliği kullanmanın avantajları:

    • 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ındaki henüz desteklenmeyen hibrit veya cihaz üzerinde çıkarım ile ilgili ayrıntılı listeyi incelemeyi unutmayın.

Desteklenen API'ler ve cihazlar

Başlayın

Desteklenen özelliklerin, API'lerin 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 ve Firebase projenizi seçin.

  2. Firebase konsolunda AI Services > AI Logic'e gidin.

  3. Projeniz için gerekli API'leri ve kaynakları ayarlamanıza yardımcı olacak 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ıza olanak tanıyan Gemini Developer API'yi seçmenizi öneririz.

    Daha sonra istediğiniz zaman Vertex AI Gemini API'ı (ve faturalandırma şartını) ayarlayabilirsiniz.

  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şlarından itibaren iş akışının bu aşamasında, AI Logic için otomatik olarak Firebase App Check zorunlu kılınacak. Bu, Gemini API doğrudan uygulamanızdan erişildiğinde korunmasına yardımcı olan kritik bir hizmettir. Başlangıç sürecinin bir parçası olarak (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ılarını yüklemek ve yönetmek için Swift Package Manager'ı (SPM) kullanın. Hibrit 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 v12.13.0 veya sonraki bir sürüm olduğundan emin olun.

  1. Xcode'da, uygulamanız açıkken File > Add Package Dependencies (Dosya > Paket Bağımlılıkları Ekle) seçeneğine gidin.

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

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

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

İşlem tamamlandığında Xcode otomatik olarak arka planda bağımlılarınızı çözümlemeye 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'nın zorunlu kılınması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 öğesini içe aktarın ve App Check öğesini, Firebase öğesini yapılandırmadan önce hata ayıklama sağlayıcı fabrikasıyla başlatı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 kopyalayın (örneğin, 123a4567-b89c-12d3-e456-789012345678).

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

    1. Firebase konsolunda Güvenlik > App Check > Uygulamalar sekmesine gidin.

    2. Uygulamanızı bulun, taşma menüsünü () tıklayın ve 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 bir hata ayıklama jetonunun nasıl alınacağı dahil) için resmi App Check belgelerini inceleyin.

4. adım: Hizmeti başlatın ve model oturumu örneği oluşturun

Sağlayıcıya özel içeriği ve kodu bu sayfada 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 GenerativeModelSession örneği oluşturun.

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

    • Önce 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.

    • Öncelikle bulutta çıkarım yapmayı deneyin ancak cihaz üzerinde çıkarıma geri dönüşe izin verin: primary öğesini bir bulut modeline, secondary öğesini ise bir "sistem" modeline ayarlayın.

    SDK'nın yalnızca tek bir model ayarlamayı desteklediğini unutmayın. Bu nedenle SDK yalnızca cihaz üzerinde veya bulutta çıkarım yapmaya çalışır. 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ündeki "çı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şlerden 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ışı

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

Model oluşturma işleminden gelen sonucun tamamını beklemek yerine akış özelliğini kullanarak kısmi sonuçları işleyebilir ve daha hızlı etkileşimler elde edebilirsiniz. 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 yapabilirsin?

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

Hibrit 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 hibrit veya cihaz üzerinde uygulamalar için desteklenmez: Imagen modelleri, Gemini Live API ve istem şablonları. Ayrıca, bulutta barındırılan ve cihaz üzerinde modeller arasında sayı farklı olacağından, jeton sayısına güvenilmemelidir. 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.

    • Resim, ses, video ve doküman (PDF) gibi çok formatlı girişlerden metin oluşturma

    • 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 üzerindeki 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 modeli kullanan 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