Firebase SDK'larındaki Vertex AI'ın GA sürümünden Firebase AI mantık SDK'larına geçiş


Firebase AI Logic ve istemci SDK'ları daha önce "Vertex AI in Firebase" olarak adlandırılıyordu. Genişletilmiş hizmet ve özelliklerimizi (örneğin, artık Gemini Developer API'yi destekliyoruz) daha iyi yansıtmak için hizmetlerimizi Firebase AI Logic olarak yeniden adlandırıp yeniden paketledik.

Google'ın üretken yapay zeka modellerine doğrudan mobil veya web uygulamalarınızdan güvenli bir şekilde erişmek için artık bir "Gemini API" sağlayıcı seçebilirsiniz. Bu sağlayıcı, uzun süredir kullanımda olan Vertex AI Gemini API veya yeni kullanıma sunulan Gemini Developer API olabilir. Bu sayede artık makul ücret sınırları ve kotaları sunan ücretsiz bir katman olan Gemini Developer API'ü kullanma seçeneğiniz var.

Firebase AI Logic SDK'larına geçiş adımlarına genel bakış

  • 1. adım: Uygulamanız ve kullanım alanları için en iyi "Gemini API" sağlayıcıyı seçin.

  • 2. adım: Firebase projenizi, Gemini Developer API kullanabileceğiniz şekilde ayarlayın.
    Yalnızca Vertex AI Gemini API yerine Gemini Developer API kullanmaya geçiş yapıyorsanız geçerlidir.

  • 3. Adım: Uygulamanızda kullanılan kitaplığı güncelleyin.

  • 4. Adım: Uygulamanızdaki ilk başlatmayı güncelleyin.

  • 5. Adım: Kodunuzu kullandığınız özelliklere göre güncelleyin.

1. adım: Uygulamanız için en iyi "Gemini API" sağlayıcıyı seçin

Bu taşıma işleminde "Gemini API" sağlayıcısında iki seçenekten birini belirleyebilirsiniz:

  • Eski "Vertex AI in Firebase" SDK'ları yalnızca Vertex AI Gemini API kullanabiliyordu.

  • Yeni Firebase AI Logic SDK'ları, doğrudan mobil veya web uygulamanızdan hangi "Gemini API" sağlayıcıyı (Gemini Developer API veya Vertex AI Gemini API) çağıracağınızı seçmenize olanak tanır.

Özellikle desteklenen özellikler, fiyatlandırma ve ücret sınırları açısından bu iki Gemini API sağlayıcıyı kullanmanın farkını inceleyin. Örneğin, Gemini Developer API, Cloud Storage URL'leri kullanılarak dosya sağlanmasını desteklemez ancak ücretsiz katmanının ve makul kotasının avantajlarından yararlanmak istiyorsanız iyi bir seçim olabilir.

2. adım: Firebase projenizi, Gemini Developer API

Bu adım yalnızca Gemini Developer API'u Firebase AI Logic istemci SDK'larıyla kullanmaya geçmek istiyorsanız gereklidir. Ancak Vertex AI Gemini API'ü kullanmaya devam etmek istiyorsanız sonraki adıma geçin.

Projenizde her iki "Gemini API" sağlayıcının da aynı anda etkin olmasında sakınca olmadığını unutmayın.

  1. Firebase konsolunda Firebase AI Logic sayfasına gidin.

  2. Ayarlar sekmesine gidip Gemini Developer API simgesini seçin.

  3. Gemini Developer API özelliğini etkinleştirin.

    Konsol, gerekli API'lerin etkinleştirilmesini sağlar ve Firebase projenizde bir Gemini API anahtarı oluşturur.

  4. Uygulamanızda kitaplığı ve ilk başlatmayı güncellemek için bu taşıma rehberine devam edin.

3. Adım: Uygulamanızda kullanılan kitaplığı güncelleyin

Uygulamanızın kod tabanını Firebase AI Logic kitaplığını kullanacak şekilde güncelleyin.

Swift

  1. Xcode'da, uygulama projeniz açıkken aşağıdaki seçeneklerden birini kullanarak Firebase paketinizi 11.13.0 veya sonraki bir sürüme güncelleyin:

    • 1. Seçenek: Tüm paketleri güncelleyin: Dosya > Paketler > En Son Paket Sürümlerine Güncelle'ye gidin.

    • 2. seçenek: Firebase'i tek tek güncelleyin: Paket Bağımlılıkları adlı bölümde Firebase paketine gidin. Firebase paketini sağ tıklayın ve Paketi Güncelle'yi seçin.

  2. Firebase paketinin artık v11.13.0 veya sonraki bir sürümü gösterdiğinden emin olun. Aksi takdirde, belirttiğiniz paket koşullarının 11.13.0 veya sonraki bir sürüme güncellemeye izin verdiğini doğrulayın.

  3. Proje Düzenleyici'de uygulamanızın hedefini seçin ve ardından Çerçeveler, Kitaplıklar ve Yerleşik İçerik bölümüne gidin.

  4. Yeni kitaplığı ekleyin: + düğmesini seçin ve ardından Firebase paketinden FirebaseAI'ı ekleyin.

  5. Uygulamanızı taşımayı tamamladıktan sonra (bu kılavuzun geri kalan bölümlerine bakın) eski kitaplığı kaldırdığınızdan emin olun:
    FirebaseVertexAI'yı seçin ve ardından düğmesine basın.

Kotlin

  1. Modül (uygulama düzeyi) Gradle dosyanızda (genellikle <project>/<app-module>/build.gradle.kts veya <project>/<app-module>/build.gradle), eski bağımlılıkları (geçerli olduğu durumlarda) aşağıdakilerle değiştirin.

    Eski bağımlılığı silmeden önce uygulamanızın kod tabanını taşımanın daha kolay olabileceğini unutmayın (bu kılavuzun geri kalan bölümlerine bakın).

    // BEFORE
    dependencies {
      implementation(platform("com.google.firebase:firebase-bom:33.x.y"))
      implementation("com.google.firebase:firebase-vertexai")
      // OR if not using the BoM
      implementation("com.google.firebase:firebase-vertexai:16.x.y")
    }
    
    
    // AFTER
    dependencies {
      // Import the BoM for the Firebase platform
      implementation(platform("com.google.firebase:firebase-bom:33.13.0"))
    
      // Add the dependency for the Firebase AI Logic library
      // When using the BoM, you don't specify versions in Firebase library dependencies
      implementation("com.google.firebase:firebase-ai")
    }
  2. Android projenizi Gradle dosyalarıyla senkronize edin.

Firebase Android BoM'ü kullanmamayı seçerseniz firebase-ai kitaplığının bağımlılığını eklemeniz ve Android Studio tarafından önerilen en son sürümü kabul etmeniz yeterlidir.

Java

  1. Modül (uygulama düzeyi) Gradle dosyanızda (genellikle <project>/<app-module>/build.gradle.kts veya <project>/<app-module>/build.gradle), eski bağımlılıkları (geçerli olduğu durumlarda) aşağıdakilerle değiştirin.

    Eski bağımlılığı silmeden önce uygulamanızın kod tabanını taşımanın daha kolay olabileceğini unutmayın (bu kılavuzun geri kalan bölümlerine bakın).

    // BEFORE
    dependencies {
      implementation(platform("com.google.firebase:firebase-bom:33.x.y"))
      implementation("com.google.firebase:firebase-vertexai")
      // OR if not using the BoM
      implementation("com.google.firebase:firebase-vertexai:16.x.y")
    }
    
    
    // AFTER
    dependencies {
      // Import the BoM for the Firebase platform
      implementation(platform("com.google.firebase:firebase-bom:33.13.0"))
    
      // Add the dependency for the Firebase AI Logic library
      // When using the BoM, you don't specify versions in Firebase library dependencies
      implementation("com.google.firebase:firebase-ai")
    }
  2. Android projenizi Gradle dosyalarıyla senkronize edin.

Firebase Android BoM'ü kullanmamayı seçerseniz firebase-ai kitaplığının bağımlılığını eklemeniz ve Android Studio tarafından önerilen en son sürümü kabul etmeniz yeterlidir.

Web

  1. npm kullanarak Web için Firebase JS SDK'sının en son sürümünü edinin:

    npm i firebase@latest

    VEYA

    yarn add firebase@latest
  2. Kitaplığı içe aktardığınız her yerde, içe aktarma ifadelerinizi firebase/ai kullanacak şekilde güncelleyin.

    Eski içe aktarma işlemlerini silmeden önce uygulamanızın kod tabanını taşımanın daha kolay olabileceğini unutmayın (bu kılavuzun geri kalan bölümlerine bakın).

    // BEFORE
    import { initializeApp } from "firebase/app";
    import { getVertexAI, getGenerativeModel } from "firebase/vertexai";
    
    
    // AFTER
    import { initializeApp } from "firebase/app";
    import { getAI, getGenerativeModel } from "firebase/ai";

Dart

  1. Flutter proje dizininizde aşağıdaki komutu çalıştırarak pubspec.yaml dosyanızda firebase_ai paketini kullanmaya başlayın:

    flutter pub add firebase_ai
  2. Flutter projenizi yeniden oluşturun:

    flutter run
  3. Uygulamanızı taşımayı tamamladıktan sonra (bu kılavuzun geri kalan bölümlerine bakın) eski paketi sildiğinizden emin olun:

    flutter pub remove firebase_vertexai

Unity

Unity için destek, "Firebase'de Vertex AI" tarafından sağlanmıyordu.

Unity için Firebase AI Logic SDK'sını kullanmaya nasıl başlayacağınızı öğrenin.

4. Adım: Uygulamanızdaki başlatma işlemini güncelleyin

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

Seçtiğiniz API sağlayıcısı için hizmeti başlatma şeklinizi güncelleyin ve bir GenerativeModel örneği oluşturun.

Swift


import FirebaseAI

// Initialize the Gemini Developer API backend service
let ai = FirebaseAI.firebaseAI(backend: .googleAI())

// Create a `GenerativeModel` instance with a model that supports your use case
let model = ai.generativeModel(modelName: "gemini-2.0-flash")

Kotlin


// Initialize the Gemini Developer API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
val model = Firebase.ai(backend = GenerativeBackend.googleAI())
                        .generativeModel("gemini-2.0-flash")

Java


// Initialize the Gemini Developer API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
GenerativeModel ai = FirebaseAI.getInstance(GenerativeBackend.googleAI())
        .generativeModel("gemini-2.0-flash");

// Use the GenerativeModelFutures Java compatibility layer which offers
// support for ListenableFuture and Publisher APIs
GenerativeModelFutures model = GenerativeModelFutures.from(ai);

Web


import { initializeApp } from "firebase/app";
import { getAI, getGenerativeModel, GoogleAIBackend } from "firebase/ai";

// TODO(developer) Replace the following with your app's Firebase configuration
// See: https://firebase.google.com/docs/web/learn-more#config-object
const firebaseConfig = {
  // ...
};

// Initialize FirebaseApp
const firebaseApp = initializeApp(firebaseConfig);

// Initialize the Gemini Developer API backend service
const ai = getAI(firebaseApp, { backend: new GoogleAIBackend() });

// Create a `GenerativeModel` instance with a model that supports your use case
const model = getGenerativeModel(ai, { model: "gemini-2.0-flash" });

Dart


import 'package:firebase_ai/firebase_ai.dart';
import 'package:firebase_core/firebase_core.dart';
import 'firebase_options.dart';

// Initialize FirebaseApp
await Firebase.initializeApp(
  options: DefaultFirebaseOptions.currentPlatform,
);

// Initialize the Gemini Developer API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
final model =
      FirebaseAI.googleAI().generativeModel(model: 'gemini-2.0-flash');

Unity

"Firebase'de Vertex AI", Unity için destek sunmuyordu.

Unity için Firebase AI Logic SDK'sını kullanmaya nasıl başlayacağınızı öğrenin.

Kullandığınız özelliğe bağlı olarak her zaman bir GenerativeModel örneği oluşturamayabilirsiniz.

5. adım: Kodunuzu kullandığınız özelliklere göre güncelleyin

Bu adımda, kullandığınız özelliklere bağlı olarak yapılması gerekebilecek değişiklikler açıklanmaktadır.

  • Cloud Storage URL'leri kullanıyorsanız ve bu taşıma işleminde Gemini Developer API kullanmaya başladıysanız çok modlu isteklerinizi dosyaları satır içi veri olarak içerecek şekilde güncellemeniz (veya videolar için YouTube URL'lerini kullanmanız) gerekir.

  • Firebase AI Logic SDK'sını kullanmaya başlamak için kodunuzda yapmanız gerekebilecek değişiklikler için aşağıdaki listeleri inceleyin.

Swift

Ek değişiklik yok.

Kotlin

  • Live API

    • ResponseModality enum sınıfı için UNSPECIFIED değeri kaldırıldı. Bunun yerine null kullanın.

Java

  • Live API

    • ResponseModality enum sınıfı için UNSPECIFIED değeri kaldırıldı. Bunun yerine null kullanın.
  • Çeşitli Java oluşturucu yöntemleri, artık boş yerine sınıflarının örneğini doğru şekilde döndürecek şekilde değiştirildi.

Web

Yalnızca Vertex AI Gemini API yerine Gemini Developer API kullanmaya başlıyorsanız aşağıdaki değişiklikleri yapmanız gerekir:

  • Güvenlik ayarları

    • Desteklenmeyen SafetySetting.method öğesinin kullanımları kaldırıldı.
  • Satır içi veriler

    • Desteklenmeyen InlineDataPart.videoMetadata öğesinin kullanımları kaldırıldı.

Dart

Ek değişiklik yok.

Unity

Unity için "Vertex AI in Firebase" tarafından destek sağlanmıyordu.

Unity için Firebase AI Logic SDK'sını kullanmaya nasıl başlayacağınızı öğrenin.


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