Firebase AI Logic ile karma çıkarım kullanarak yapay zeka destekli Apple uygulamaları ve özellikleri geliştirebilirsiniz. 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 nasıl başlayacağınız açıklanmakta ve sıcaklık gibi ek yapılandırma seçenekleri ve özellikleri 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 şartları'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 karma ve cihaz üzerinde çıkarım uygulamadan önce Apple uygulamalarında nelerin desteklendiğini öğrenmek için bu bölümü inceleyin.
Cihaz üzerinde çıkarım için desteklenen özellikler ve işlevler
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
Bulutta çıkarım, seçtiğiniz Gemini API sağlayıcısını (Gemini Developer API veya Agent Platform Gemini API (formerly Vertex AI)) kullanır.
Cihaz üzerinde çıkarım, yalnızca Apple Intelligence'ın etkin olduğu cihazlarda kullanılabilen Apple'ın Foundation Models çerçevesini kullanır. Apple Intelligence etkinleştirildiğinde cihaz üzerinde model otomatik olarak indirilir.
Başlayın
Desteklenen özellikleri, API'leri ve cihazları açıklayan yukarıdaki bölümü incelediğinizden emin olun.
Bu başlangıç adımları, göndermek istediğiniz desteklenen istem istekleri için gereken genel kurulumu açıklar.
1. adım: Firebase projesi oluşturun ve uygulamanızı Firebase'e bağlayın
Firebase konsolunda oturum açın ve Firebase projenizi seçin.
Firebase konsolunda AI Services (Yapay Zeka Hizmetleri) > AI Logic (Yapay Zeka Mantığı) bölümüne gidin.
Projeniz için gerekli API'leri ve kaynakları ayarlamanıza yardımcı olan rehberli bir iş akışını başlatmak için Başlayın'ı tıklayın.
İstenirse uygulamanızı kaydetmek ve Firebase yapılandırmanızı uygulamanıza eklemek için ekrandaki talimatları uygulayın.
"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 dilediğiniz zaman Agent Platform Gemini API (formerly Vertex AI)'i (ve faturalandırma şartını) ayarlayabilirsiniz.
Firebase AI Logic için gerekli API'leri ve ilişkili hizmetleri ayarlamak üzere iş akışına devam edin.
İş akışının bu aşaması, AI Logic için Firebase App Check'i otomatik olarak uygular. 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 uygulandığında yerel geliştirme için App Check hata ayıklama sağlayıcısını yapılandırmanız gerekir.
Gerekli SDK'ları uygulamanıza eklemek için bu kılavuzdaki bir 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ına (firebase-ios-sdk) dahildir.
Firebase'i zaten kullanıyorsanız Firebase paketinizin v12.13.0 veya sonraki bir sürüm olduğundan emin olun.
Xcode'da uygulama projeniz açıkken File > Add Package Dependencies'e (Dosya > Paket Bağımlılıkları Ekle) gidin.
İstendiğinde Firebase Apple platformları SDK deposunu ekleyin:
https://github.com/firebase/firebase-ios-sdkEn son SDK sürümünü seçin.
FirebaseAILogicveFirebaseAppCheckkitaplı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ırma
Konsolda AI Logic için rehberli kurulum iş akışının bir parçası olarak Gemini API korumak için Firebase App Check otomatik olarak uygulanır. Yerel geliştirme için App Check'un zorunlu kılınmasını sürdürürken onayı atlamak üzere App Check hata ayıklama sağlayıcısını yapılandırmanız gerekir.
Uygulamanızı bir simülatörde etkileşimli olarak çalıştırırken (örneğin, yerel geliştirme sırasında) hata ayıklama sağlayıcısını şu şekilde kullanabilirsiniz:
Xcode projenizde
FirebaseAppCheckiçe aktarın ve hata ayıklama sağlayıcı fabrikası ile App Check ilk kullanıma hazırlayın önceFirebaseyapı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() } } } }Hata ayıklama jetonunuzu alın:
Uygulamanızı simülatörde veya test cihazınızda başlatın.
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'.Jetonu (ör.
123a4567-b89c-12d3-e456-789012345678) kopyalayın.
Hata ayıklama jetonunuzu App Check ile kaydedin:
Firebase konsolunda Security (Güvenlik) > App Check (Uygulama Kontrolü) > Apps (Uygulamalar) sekmesine gidin.
Uygulamanızı bulun, taşma menüsünü () tıklayın ve ardından Hata ayıklama jetonlarını yönet'i seçin.
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 belgelerine göz atın.
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 kodları 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.
Seçtiğiniz Gemini API sağlayıcısı için hizmeti başlatın.
HybridModelile birGenerativeModelSessionörneği oluşturun.primaryvesecondarymodellerini tercihlerinize göre ayarlayın. Çıkarım denemelerinin sırasını belirleyebilirsiniz:Önce cihaz üzerinde çıkarım yapmayı deneyin ancak buluta yedeklemeye izin verin:
primarydeğerini bir "sistem" modeline,secondarydeğerini ise bir bulut modeline ayarlayın.Önce bulutta çıkarım yapmayı deneyin ancak cihaz üzerinde çıkarıma geçişe izin verin:
primarydeğerini bir bulut modeline,secondarydeğerini ise "sistem" modeline ayarlayın.
SDK'nın yalnızca tek bir
modelayarını desteklediğini unutmayın. Bu nedenle SDK, yalnızca cihaz üzerinde veya bulutta çıkarım yapmaya çalışır. Ancak karma bir deneyim içinHybridModeloluşturmanız ve hemprimaryhem desecondarymodellerini ayarlamanız gerekir."Çıkarım modlarının" (denenen çıkarım sırası) davranışı hakkında daha fazla bilgiyi Yapılandırma seçenekleri bölümünde bulabilirsiniz.
Aşağıdaki örnekte, önce cihaz üzerinde çıkarım yapmaya nasıl çalışılacağı ancak bulutta barındırılan modele geri dönmeye nasıl izin verileceği 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şlangıç bölümünü tamamladığınızdan emin olun. |
Metin içeren bir istemden metin oluşturmak için respond(to:) yöntemini ş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şlangıç bölümünü tamamladığınızdan emin olun. |
Model üretiminden elde edilen sonucun tamamını beklemeyip kısmi sonuçları işlemek için akış özelliğini kullanarak daha hızlı etkileşimler elde edebilirsiniz. Metin içeren bir istemden oluşturulan metni aktarmak için streamResponse(to:) yöntemini ş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çeneklerini ve özelliklerini kullanabilirsiniz:
Cihaz üzerinde modelin kullanılabilir olup olmadığını kontrol edin.
Cihaz üzerinde mi yoksa bulutta mı çıkarım kullanıldığını belirleme
Yanıtları kontrol etmek için model yapılandırmasını (ör. sıcaklık) kullanın.
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, bulutta barındırılan ve cihaz üzerinde çalışan modeller arasında sayım farklı olacağından, countTokens'a güvenilmemelidir. Bu nedenle, sezgisel bir yedek yoktur.
Aşağıdaki özellikler cihaz üzerinde çıkarım için henüz 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 belgeler (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 kelimeyi) 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 kullanım takibi, cihaz üzerinde çıkarım (cihaz günlükleri dahil) ile ilgili verileri göstermez. Ancak bulutta barındırılan bir model kullanan tüm çıkarımlar, diğer çıkarımlar gibi Firebase AI Logic üzerinden izlenebilir.
Ek sınırlamalar
Yukarıdakilere ek olarak, cihaz üzerinde çıkarım aşağıdaki sınırlamalara sahiptir:
Uygulamanızın son kullanıcısı, Apple Intelligence'ın etkin olduğu bir cihaz kullanmalıdır.
Uygulamanız, cihaz üzerinde çıkarımı yalnızca ön plandayken çalıştırabilir.
Firebase AI Logic ile ilgili deneyiminiz hakkında geri bildirimde bulunun