Firebase AI Logic kullanarak hibrit çıkarımla yapay zeka destekli Apple uygulamaları ve özellikleri oluşturabilirsiniz. Karma çıkarım, kullanılabilir olduğunda 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 ş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şlevsellik
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
Bulut içi çıkarım, seçtiğiniz Gemini API sağlayıcısını (Gemini Developer API veya Vertex AI Gemini API) kullanır.
Cihaz üzerinde çıkarım, yalnızca Apple Intelligence'ın etkinleştirildiği cihazlarda kullanılabilen Apple'ın Foundation Models çerçevesini kullanır. Apple Intelligence etkinleştirildiğinde cihaz üzerindeki model otomatik olarak indirilir.
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
Firebase konsolunda oturum açın ve Firebase projenizi seçin.
Firebase konsolunda AI Services > AI Logic'e gidin.
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.
Projenizi "Gemini API" sağlayıcı kullanacak şekilde ayarlayın.
Gemini Developer API ile başlamanızı öneririz. Dilediğiniz zaman Vertex AI Gemini API (ve faturalandırma için gerekli olan) ayarlarını yapabilirsiniz.
Konsol, Gemini Developer API için gerekli API'leri etkinleştirir ve projenizde Gemini API anahtarı oluşturur.
Bu Gemini API anahtarını uygulamanızın kod tabanına eklemeyin. Daha fazla bilgi edinin.Konsolun iş akışında istenirse uygulamanızı kaydetmek ve Firebase'e bağlamak için ekrandaki talimatları uygulayın.
SDK'yı uygulamanıza eklemek için bu kılavuzdaki bir 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.
Xcode'da, uygulamanız 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 yeni SDK sürümünü seçin.
FirebaseAILogickitaplığı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: Hizmeti başlatın ve model oturum ö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.
Seçtiğiniz Gemini API sağlayıcısı için hizmeti başlatın.
HybridModelileGenerativeModelSessionörneği oluşturun.primaryvesecondarymodellerini tercihlerinize göre ayarlayın. Çıkarım denemelerinin sırasını ayarlayabilirsiniz:Önce cihaz üzerinde çıkarım yapmayı deneyin ancak buluta geri dönüşe izin verin:
primaryöğesini "system" modeline,secondaryöğesini ise bulut modeline ayarlayın.Önce 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
modelayarlamayı 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.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,
)
4. 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 özelliklerinden yararlanabilirsiniz:
Cihaz üzerinde modelin kullanılabilir olup olmadığını kontrol edin.
Cihaz üzerinde mi yoksa bulutta mı çıkarım yapıldığını belirleyin.
Yanıtları kontrol etmek için model yapılandırmasını kullanın (ör. sıcaklık).
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ı güvenilir değildir. 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 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:
Uygulamanızın son kullanıcısı, Apple Intelligence'ın etkin olduğu bir cihaz kullanmalıdır.
Uygulamanız, yalnızca ön planda çalışırken cihaz üzerinde çıkarım gerçekleştirebilir.
Firebase AI Logic ile ilgili deneyiminiz hakkında geri bildirim verme