Firebase SDK'larında Vertex

Bu kılavuzda, seçtiğiniz platforma ait Vertex AI in Firebase SDK'sını kullanarak doğrudan uygulamanızdan Gemini API in Vertex AI çağrıları nasıl yapacağınız gösterilmektedir.

Vertex AI in Firebase SDK'larını kullanarak Imagen modellerine erişmeye başlamak için bu kılavuzu da kullanabileceğinizi unutmayın.

Ön koşullar

Bu kılavuzda, Apple platformları (iOS gibi) için uygulama geliştirmek amacıyla Xcode'u kullanma konusunda bilgi sahibi olduğunuz varsayılmaktadır.

  • Geliştirme ortamınızın ve Apple platformları uygulamanızın aşağıdaki koşulları karşıladığından emin olun:

    • Xcode 16.2 veya üstü
    • Uygulamanız iOS 15 veya sonraki sürümleri ya da macOS 12 veya sonraki sürümleri hedefliyor
  • (İsteğe bağlı) Örnek uygulamaya göz atın.

    Hızlı başlangıç uygulamasını indirin

    SDK'yı hızlıca deneyebilir, çeşitli kullanım alanlarının tam uygulamasını görebilir veya kendi Apple platformu uygulamanız yoksa örnek uygulamayı kullanabilirsiniz. Örnek uygulamayı kullanmak için bir Firebase projesine bağlamanız gerekir.

Bu kılavuzda, Android için uygulama geliştirmek amacıyla Android Studio'yu kullanma konusunda bilgi sahibi olduğunuz varsayılmaktadır.

  • Geliştirme ortamınızın ve Android uygulamanızın aşağıdaki koşulları karşıladığından emin olun:

    • Android Studio (son sürüm)
    • Uygulamanız API düzeyi 21 veya üstünü hedefliyor
  • (İsteğe bağlı) Örnek uygulamaya göz atın.

    Örnek uygulamayı indirin

    SDK'yı hızlıca deneyebilir, çeşitli kullanım alanlarının tam uygulamasını görebilir veya kendi Android uygulamanız yoksa örnek uygulamayı kullanabilirsiniz. Örnek uygulamayı kullanmak için bir Firebase projesine bağlamanız gerekir.

Bu kılavuzda, Android için uygulama geliştirmek amacıyla Android Studio'yu kullanma konusunda bilgi sahibi olduğunuz varsayılmaktadır.

  • Geliştirme ortamınızın ve Android uygulamanızın aşağıdaki koşulları karşıladığından emin olun:

    • Android Studio (son sürüm)
    • Uygulamanız API düzeyi 21 veya üstünü hedefliyor
  • (İsteğe bağlı) Örnek uygulamaya göz atın.

    Örnek uygulamayı indirin

    SDK'yı hızlıca deneyebilir, çeşitli kullanım alanlarının tam uygulamasını görebilir veya kendi Android uygulamanız yoksa örnek uygulamayı kullanabilirsiniz. Örnek uygulamayı kullanmak için bir Firebase projesine bağlamanız gerekir.

Bu kılavuzda, web uygulamaları geliştirmek için JavaScript'i kullanma konusunda bilgi sahibi olduğunuz varsayılmaktadır. Bu kılavuz, çerçeveye bağlı değildir.

  • Geliştirme ortamınızın ve web uygulamanızın aşağıdaki koşulları karşıladığından emin olun:

    • (İsteğe bağlı) Node.js
    • Modern web tarayıcısı
  • (İsteğe bağlı) Örnek uygulamaya göz atın.

    Örnek uygulamayı indirin

    SDK'yı hızlıca deneyebilir, çeşitli kullanım alanlarının tam uygulamasını görebilir veya kendi web uygulamanız yoksa örnek uygulamayı kullanabilirsiniz. Örnek uygulamayı kullanmak için bir Firebase projesine bağlamanız gerekir.

Bu rehberde, Flutter ile uygulama geliştirme hakkında bilgi sahibi olduğunuz varsayılmaktadır.

  • Geliştirme ortamınızın ve Flutter uygulamanızın aşağıdaki koşulları karşıladığından emin olun:

    • Dart 3.2.0 ve üzeri
  • (İsteğe bağlı) Örnek uygulamaya göz atın.

    Örnek uygulamayı indirin

    SDK'yı hızlıca deneyebilir, çeşitli kullanım alanlarının tam uygulamasını görebilir veya kendi Flutter uygulamanız yoksa örnek uygulamayı kullanabilirsiniz. Örnek uygulamayı kullanmak için bir Firebase projesine bağlamanız gerekir.

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

Zaten bir Firebase projeniz ve Firebase'e bağlı bir uygulamanız varsa

  1. Firebase konsolunda Vertex AI sayfasına gidin.

  2. Aşağıdaki görevleri tamamlamanıza yardımcı olacak bir iş akışı başlatmak için Vertex AI in Firebase kartını tıklayın:

  3. SDK'yı uygulamanıza eklemek için bu kılavuzun bir sonraki adımına geçin.

Firebase projesiniz ve Firebase'e bağlı uygulamanız yoksa

  1. Firebase konsolunda oturum açın.

  2. Proje oluştur'u tıklayın ve ardından aşağıdaki seçeneklerden birini kullanın:

    • 1. seçenek: "Proje oluştur" iş akışının ilk adımına yeni bir proje adı girerek tamamen yeni bir Firebase projesi (ve otomatik olarak temel Google Cloud projesi) oluşturun.

    • 2. Seçenek: "Proje oluştur" iş akışının ilk adımındaki açılır menüden Google Cloud proje adınızı seçerek mevcut bir Google Cloud projesine "Firebase ekleyin".

    İstendiğinde, Vertex AI in Firebase SDK'larını kullanmak için Google Analytics'i ayarlamanıza gerek olmadığını unutmayın.

  3. Firebase konsolunda Vertex AI sayfasına gidin.

  4. Aşağıdaki görevleri tamamlamanıza yardımcı olacak bir iş akışı başlatmak için Vertex AI in Firebase kartını tıklayın:

  1. Uygulamanızı Firebase'e bağlamak için konsolun Vertex AI in Firebase kurulum iş akışında devam edin. Bu iş akışında aşağıdaki görevler yer alır:

    • Uygulamanızı Firebase projenize kaydetme.

    • Firebase yapılandırma dosyanızı (GoogleService-Info.plist) uygulamanıza ekleyin.

  2. Bu kılavuzun sonraki adımlarında, Vertex AI in Firebase SDK'sını uygulamanıza ekleyecek ve SDK ile Gemini API'un kullanımına özel gerekli başlatma işlemlerini tamamlayacaksınız.

  1. Uygulamanızı Firebase'e bağlamak için konsolun Vertex AI in Firebase kurulum iş akışında devam edin. Bu iş akışında aşağıdaki görevler yer alır:

    • Uygulamanızı Firebase projenize kaydetme.

    • Firebase yapılandırma dosyanızı (google-services.json) ve google-services Gradle eklentisini uygulamanıza ekleyin.

  2. Bu kılavuzun sonraki adımlarında, Vertex AI in Firebase SDK'sını uygulamanıza ekleyecek ve SDK ile Gemini API'un kullanımına özel gerekli başlatma işlemlerini tamamlayacaksınız.

  1. Uygulamanızı Firebase'e bağlamak için konsolun Vertex AI in Firebase kurulum iş akışında devam edin. Bu iş akışında aşağıdaki görevler yer alır:

    • Uygulamanızı Firebase projenize kaydetme.

    • Firebase yapılandırma dosyanızı (google-services.json) ve google-services Gradle eklentisini uygulamanıza ekleyin.

  2. Bu kılavuzun sonraki adımlarında, Vertex AI in Firebase SDK'sını uygulamanıza ekleyecek ve SDK ile Gemini API'un kullanımına özel gerekli başlatma işlemlerini tamamlayacaksınız.

  1. Uygulamanızı Firebase'e bağlamak için konsolun Vertex AI in Firebase kurulum iş akışında devam edin. Bu iş akışında aşağıdaki görevler yer alır:

    • Uygulamanızı Firebase projenize kaydettirme

    • Firebase yapılandırma nesnenizi uygulamanıza ekleme.

  2. Bu kılavuzun sonraki adımlarında, Vertex AI in Firebase SDK'sını uygulamanıza ekleyecek ve SDK'nın ve Gemini API'un kullanımına özel gerekli başlatma işlemlerini tamamlayacaksınız.

  1. Gerekli komut satırı araçlarını yükleyin:

    1. Henüz yapmadıysanız Firebase CLI'yi yükleyin.

    2. Aşağıdaki komutu çalıştırarak Google Hesabınızı kullanarak Firebase'e giriş yapın:

      firebase login
      
    3. Herhangi bir dizinden aşağıdaki komutu çalıştırarak FlutterFire CLI'yi yükleyin:

      dart pub global activate flutterfire_cli
      
  2. Uygulamalarınızı Firebase'i kullanacak şekilde yapılandırın:

    Flutter uygulamalarınızı Firebase'e bağlanacak şekilde yapılandırmak için FlutterFire CLI'yi kullanın.

    Uygulama yapılandırma iş akışını başlatmak için Flutter proje dizininizden aşağıdaki komutu çalıştırın:

    flutterfire configure
    

    flutterfire configure iş akışı aşağıdakileri yapar:

    • Flutter uygulamanızda desteklenen platformları (iOS, Android, Web) seçmenizi ister. FlutterFire CLI, seçilen her platform için Firebase projenizde yeni bir Firebase uygulaması oluşturur.

      Mevcut bir Firebase projesini kullanmayı veya yeni bir Firebase projesi oluşturmayı seçebilirsiniz. Mevcut bir Firebase projesine kayıtlı uygulamalarınız varsa FlutterFire CLI, mevcut Flutter proje yapılandırmanıza göre bunları eşleştirmeye çalışır.

    • Bir Firebase yapılandırma dosyası (firebase_options.dart) oluşturur ve Flutter uygulamanızın lib/ dizinine ekler.

  3. Bu kılavuzun sonraki adımlarında, Vertex AI in Firebase SDK'sını uygulamanıza ekleyecek ve SDK'nın ve Gemini API'un kullanımına özel gerekli başlatma işlemlerini tamamlayacaksınız.


2. adım: SDK'yı ekleyin

Firebase projeniz oluşturulduktan ve uygulamanız Firebase'e bağlandıktan sonra (önceki adıma bakın) Vertex AI in Firebase SDK'sını uygulamanıza ekleyebilirsiniz.

Firebase bağımlılarını yüklemek ve yönetmek için Swift Package Manager'ı kullanın.

Vertex AI in Firebase kitaplığı, Gemini ve Imagen modelleriyle 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 edilmiştir.

  1. Xcode'da, uygulamanız açıkken Dosya > Paket Ekle'ye 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. FirebaseVertexAI kitaplığını seçin.

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

Android için Vertex AI in Firebase SDK'sı (firebase-vertexai), Gemini ve Imagen modelleriyle etkileşim kurmak için API'lere erişim sağlar.

Modül (uygulama düzeyinde) Gradle dosyanıza (<project>/<app-module>/build.gradle.kts gibi) Android için Vertex AI in Firebase kitaplığının bağımlılığını ekleyin. Kitaplık sürümlendirmesini kontrol etmek için Firebase Android BoM simgesini kullanmanızı öneririz.

dependencies {
  // ... other androidx dependencies

  // Import the BoM for the Firebase platform
  implementation(platform("com.google.firebase:firebase-bom:33.13.0"))

  // Add the dependency for the Vertex AI in Firebase library
  // When using the BoM, you don't specify versions in Firebase library dependencies
  implementation("com.google.firebase:firebase-vertexai")
}

Firebase Android BoM kullanıldığında uygulamanız Firebase Android kitaplıklarının daima uyumlu sürümlerini kullanır.

Firebase BoM kullanmayı tercih etmezseniz her Firebase kitaplık sürümünü bağımlılık satırında belirtmeniz gerekir.

Uygulamanızda birden fazla Firebase kitaplığı kullanıyorsanız kitaplık sürümlerini yönetmek için BoM kullanmanızı önemle tavsiye ederiz. Bu, tüm sürümlerin uyumlu olmasını sağlar.

dependencies {
  // Add the dependency for the Vertex AI in Firebase library
  // When NOT using the BoM, you must specify versions in Firebase library dependencies
  implementation("com.google.firebase:firebase-vertexai:16.4.0")
}

Android için Vertex AI in Firebase SDK'sı (firebase-vertexai), Gemini ve Imagen modelleriyle etkileşim kurmak için API'lere erişim sağlar.

Modül (uygulama düzeyinde) Gradle dosyanıza (<project>/<app-module>/build.gradle.kts gibi) Android için Vertex AI in Firebase kitaplığının bağımlılığını ekleyin. Kitaplık sürümlendirmesini kontrol etmek için Firebase Android BoM simgesini kullanmanızı öneririz.

Java için iki ek kitaplık eklemeniz gerekir.

dependencies {
  // ... other androidx dependencies

  // Import the BoM for the Firebase platform
  implementation(platform("com.google.firebase:firebase-bom:33.13.0"))

  // Add the dependency for the Vertex AI in Firebase library
  // When using the BoM, you don't specify versions in Firebase library dependencies
  implementation("com.google.firebase:firebase-vertexai")

  // Required for one-shot operations (to use `ListenableFuture` from Guava Android)
  implementation("com.google.guava:guava:31.0.1-android")

  // Required for streaming operations (to use `Publisher` from Reactive Streams)
  implementation("org.reactivestreams:reactive-streams:1.0.4")
}

Firebase Android BoM kullanıldığında uygulamanız Firebase Android kitaplıklarının daima uyumlu sürümlerini kullanır.

Firebase BoM kullanmayı tercih etmezseniz her Firebase kitaplık sürümünü bağımlılık satırında belirtmeniz gerekir.

Uygulamanızda birden fazla Firebase kitaplığı kullanıyorsanız kitaplık sürümlerini yönetmek için BoM kullanmanızı önemle tavsiye ederiz. Bu, tüm sürümlerin uyumlu olmasını sağlar.

dependencies {
  // Add the dependency for the Vertex AI in Firebase library
  // When NOT using the BoM, you must specify versions in Firebase library dependencies
  implementation("com.google.firebase:firebase-vertexai:16.4.0")
}

Vertex AI in Firebase kitaplığı, Gemini ve Imagen modelleriyle etkileşim kurmak için API'lere erişim sağlar. Kitaplık, Web için Firebase JavaScript SDK'sının bir parçası olarak dahil edilmiştir.

  1. npm kullanarak Web için Firebase JS SDK'sını yükleyin:

    npm install firebase
    
  2. Firebase'i uygulamanızda başlatın:

    import { initializeApp } from "firebase/app";
    
    // 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);
    

Flutter için Vertex AI in Firebase eklentisi (firebase_vertexai), Gemini ve Imagen modelleriyle etkileşim kurmak için API'lere erişim sağlar.

  1. Temel eklentiyi ve Vertex AI in Firebase eklentisini yüklemek için Flutter proje dizininizden aşağıdaki komutu çalıştırın:

    flutter pub add firebase_core && flutter pub add firebase_vertexai
    
  2. lib/main.dart dosyanıza Firebase ana eklentisini, Vertex AI in Firebase eklentisini ve daha önce oluşturduğunuz yapılandırma dosyasını aktarın:

    import 'package:firebase_core/firebase_core.dart';
    import 'package:firebase_vertexai/firebase_vertexai.dart';
    import 'firebase_options.dart';
    
  3. Ayrıca lib/main.dart dosyanızda, yapılandırma dosyası tarafından dışa aktarılan DefaultFirebaseOptions nesnesini kullanarak Firebase'i başlatın:

    await Firebase.initializeApp(
      options: DefaultFirebaseOptions.currentPlatform,
    );
    
  4. Flutter uygulamanızı yeniden oluşturun:

    flutter run
    

3. adım: Vertex AI hizmetini başlatın ve bir GenerativeModel örneği oluşturun

API çağrıları yapmak ve bir Gemini modeline istem göndermek için Vertex AI hizmetini başlatmanız ve bir GenerativeModel örneği oluşturmanız gerekir.

import FirebaseVertexAI

// Initialize the Vertex AI service
let vertex = VertexAI.vertexAI()

// Create a `GenerativeModel` instance with a model that supports your use case
let model = vertex.generativeModel(modelName: "gemini-2.0-flash")
Kotlin için bu SDK'daki yöntemler askıya alma işlevleridir ve koşullu akış kapsamından çağrılmaları gerekir.
// Initialize the Vertex AI service and create a `GenerativeModel` instance
// Specify a model that supports your use case
val generativeModel = Firebase.vertexAI.generativeModel("gemini-2.0-flash")
Java için bu SDK'daki akış yöntemleri, Reactive Streams kitaplığındaki bir Publisher türü döndürür.
// Initialize the Vertex AI service and create a `GenerativeModel` instance
// Specify a model that supports your use case
GenerativeModel gm = FirebaseVertexAI.getInstance()
        .generativeModel("gemini-2.0-flash");

// Use the GenerativeModelFutures Java compatibility layer which offers
// support for ListenableFuture and Publisher APIs
GenerativeModelFutures model = GenerativeModelFutures.from(gm);
import { initializeApp } from "firebase/app";
import { getVertexAI, getGenerativeModel } from "firebase/vertexai";

// 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 Vertex AI service
const vertexAI = getVertexAI(firebaseApp);

// Create a `GenerativeModel` instance with a model that supports your use case
const model = getGenerativeModel(vertexAI, { model: "gemini-2.0-flash" });
import 'package:firebase_vertexai/firebase_vertexai.dart';
import 'package:firebase_core/firebase_core.dart';
import 'firebase_options.dart';

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

// Initialize the Vertex AI service and create a `GenerativeModel` instance
// Specify a model that supports your use case
final model =
      FirebaseVertexAI.instance.generativeModel(model: 'gemini-2.0-flash');

Bu başlangıç kılavuzunu tamamladıktan sonra, kullanım alanınıza ve uygulamanıza uygun bir model ve (isteğe bağlı olarak) konum seçmeyi öğrenin.

4. Adım: Bir modele istem isteği gönderin

Uygulamanızı Firebase'e bağladığınıza, SDK'yı eklediğinize, Vertex AI hizmetini ve üretken modeli başlattığınıza göre Gemini modeline istem isteği göndermeye hazırsınız.

Yalnızca metin içeren bir istem isteğinden metin oluşturmak için generateContent() kullanabilirsiniz:

import FirebaseVertexAI

// Initialize the Vertex AI service
let vertex = VertexAI.vertexAI()

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

// Provide a prompt that contains text
let prompt = "Write a story about a magic backpack."

// To generate text output, call generateContent with the text input
let response = try await model.generateContent(prompt)
print(response.text ?? "No text in response.")
Kotlin için bu SDK'daki yöntemler askıya alma işlevleridir ve koşullu akış kapsamından çağrılmaları gerekir.
// Initialize the Vertex AI service and create a `GenerativeModel` instance
// Specify a model that supports your use case
val generativeModel = Firebase.vertexAI.generativeModel("gemini-2.0-flash")

// Provide a prompt that contains text
val prompt = "Write a story about a magic backpack."

// To generate text output, call generateContent with the text input
val response = generativeModel.generateContent(prompt)
print(response.text)
Java için bu SDK'daki yöntemler ListenableFuture döndürür.
// Initialize the Vertex AI service and create a `GenerativeModel` instance
// Specify a model that supports your use case
GenerativeModel gm = FirebaseVertexAI.getInstance()
        .generativeModel("gemini-2.0-flash");
GenerativeModelFutures model = GenerativeModelFutures.from(gm);

// Provide a prompt that contains text
Content prompt = new Content.Builder()
    .addText("Write a story about a magic backpack.")
    .build();

// To generate text output, call generateContent with the text input
ListenableFuture<GenerateContentResponse> response = model.generateContent(prompt);
Futures.addCallback(response, new FutureCallback<GenerateContentResponse>() {
    @Override
    public void onSuccess(GenerateContentResponse result) {
        String resultText = result.getText();
        System.out.println(resultText);
    }

    @Override
    public void onFailure(Throwable t) {
        t.printStackTrace();
    }
}, executor);
import { initializeApp } from "firebase/app";
import { getVertexAI, getGenerativeModel } from "firebase/vertexai";

// 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 Vertex AI service
const vertexAI = getVertexAI(firebaseApp);

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

// Wrap in an async function so you can use await
async function run() {
  // Provide a prompt that contains text
  const prompt = "Write a story about a magic backpack."

  // To generate text output, call generateContent with the text input
  const result = await model.generateContent(prompt);

  const response = result.response;
  const text = response.text();
  console.log(text);
}

run();
import 'package:firebase_vertexai/firebase_vertexai.dart';
import 'package:firebase_core/firebase_core.dart';
import 'firebase_options.dart';

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

// Initialize the Vertex AI service and create a `GenerativeModel` instance
// Specify a model that supports your use case
final model =
      FirebaseVertexAI.instance.generativeModel(model: 'gemini-2.0-flash');

// Provide a prompt that contains text
final prompt = [Content.text('Write a story about a magic backpack.')];

// To generate text output, call generateContent with the text input
final response = await model.generateContent(prompt);
print(response.text);

Başka neler yapabilirsiniz?

Desteklenen modeller hakkında daha fazla bilgi

Çeşitli kullanım alanları için kullanılabilen modeller, kotaları ve fiyatlandırmaları hakkında bilgi edinin.

Diğer özellikleri deneyin

İçerik oluşturmayı nasıl kontrol edeceğinizi öğrenin

Vertex AI Studio'i kullanarak istemler ve model yapılandırmalarıyla da denemeler yapabilirsiniz.


Vertex AI in Firebase ile ilgili deneyiminiz hakkında geri bildirim verme