Mulai gunakan GeminiIAP API menggunakan Vertex akhir AI di SDK Firebase


Panduan ini menunjukkan cara untuk mulai melakukan panggilan ke Vertex AI Gemini API langsung dari aplikasi menggunakan Vertex AI in Firebase SDK untuk platform yang Anda pilih.

Prasyarat

Panduan ini mengasumsikan bahwa Anda sudah terbiasa menggunakan Android Studio untuk mengembangkan aplikasi untuk Android.

  • Pastikan lingkungan pengembangan dan aplikasi Android Anda memenuhi persyaratan berikut:

    • Android Studio (versi terbaru)
    • Aplikasi Android Anda harus menargetkan API level 21 atau yang lebih tinggi.
  • (Opsional) Lihat aplikasi contoh.

    Mendownload aplikasi contoh

    Anda dapat mencoba SDK dengan cepat, melihat implementasi lengkap berbagai kasus penggunaan, atau menggunakan aplikasi contoh jika tidak memiliki aplikasi Android Anda sendiri. Untuk menggunakan aplikasi contoh, Anda harus menghubungkannya ke project Firebase.

Langkah 1: Siapkan project Firebase dan hubungkan aplikasi Anda ke Firebase

Jika Anda sudah memiliki project Firebase dan aplikasi yang terhubung ke Firebase

  1. Di Firebase console, buka halaman Build with Gemini.

  2. Klik kartu Vertex AI in Firebase untuk meluncurkan alur kerja yang membantu Anda menyelesaikan tugas-tugas berikut:

  3. Lanjutkan ke langkah berikutnya dalam panduan ini untuk menambahkan SDK ke aplikasi Anda.

Jika Anda belum memiliki project Firebase dan aplikasi yang terhubung ke Firebase


Langkah 2: Tambahkan SDK

Setelah project Firebase disiapkan dan aplikasi Anda terhubung ke Firebase (lihat langkah sebelumnya), Anda kini dapat menambahkan Vertex AI in Firebase SDK ke aplikasi Anda.

Vertex AI in Firebase SDK for Android (firebase-vertexai) menyediakan akses ke Vertex AI Gemini API.

Dalam file Gradle modul (level aplikasi) (seperti <project>/<app-module>/build.gradle.kts), tambahkan dependensi untuk library Vertex AI in Firebase untuk Android. Sebaiknya gunakan Firebase Android BoM untuk mengontrol pembuatan versi library.

Kotlin+KTX

dependencies {
    // ... other androidx dependencies

    // Import the BoM for the Firebase platform
    implementation(platform("com.google.firebase:firebase-bom:33.6.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")
}

Java

Untuk Java, Anda perlu menambahkan dua library tambahan.

dependencies {
    // ... other androidx dependencies

    // Import the BoM for the Firebase platform
    implementation(platform("com.google.firebase:firebase-bom:33.6.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")
}

Dengan menggunakan Firebase Android BoM, aplikasi Anda akan selalu menggunakan versi library Android Firebase yang kompatibel.

Langkah 3: Lakukan inisialisasi layanan Vertex AI dan model generatif

Sebelum dapat melakukan panggilan API, Anda perlu melakukan inisialisasi layanan Vertex AI dan model generatif.

Kotlin+KTX

Untuk Kotlin, metode dalam SDK ini adalah fungsi penangguhan dan perlu dipanggil dari Cakupan coroutine.
// Initialize the Vertex AI service and the generative model
// Specify a model that supports your use case
// Gemini 1.5 models are versatile and can be used with all API capabilities
val generativeModel = Firebase.vertexAI.generativeModel("gemini-1.5-flash")

Java

Untuk Java, metode streaming di SDK ini menampilkan jenis Publisher dari library Reactive Streams.
// Initialize the Vertex AI service and the generative model
// Specify a model that supports your use case
// Gemini 1.5 models are versatile and can be used with all API capabilities
GenerativeModel gm = FirebaseVertexAI.getInstance()
        .generativeModel("gemini-1.5-flash");

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

Setelah menyelesaikan panduan memulai, pelajari cara memilih model Gemini dan (opsional) lokasi yang sesuai untuk kasus penggunaan dan aplikasi Anda.

Langkah 4: Panggil Vertex AI Gemini API

Setelah menghubungkan aplikasi ke Firebase, menambahkan SDK, dan menginisialisasi layanan Vertex AI serta model generatif, Anda siap memanggil Vertex AI Gemini API.

Anda dapat menggunakan generateContent() untuk membuat teks dari permintaan prompt khusus teks:

Kotlin+KTX

Untuk Kotlin, metode dalam SDK ini adalah fungsi penangguhan dan perlu dipanggil dari Cakupan coroutine.
// Initialize the Vertex AI service and the generative model
// Specify a model that supports your use case
// Gemini 1.5 models are versatile and can be used with all API capabilities
val generativeModel = Firebase.vertexAI.generativeModel("gemini-1.5-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

Untuk Java, metode dalam SDK ini menampilkan ListenableFuture.
// Initialize the Vertex AI service and the generative model
// Specify a model that supports your use case
// Gemini 1.5 models are versatile and can be used with all API capabilities
GenerativeModel gm = FirebaseVertexAI.getInstance()
        .generativeModel("gemini-1.5-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);

Kamu bisa apa lagi?

Pelajari model Gemini lebih lanjut

Pelajari model yang tersedia untuk berbagai kasus penggunaan serta kuota dan harganya.

Mencoba kemampuan lain Gemini API

Pelajari cara mengontrol pembuatan konten

Anda juga dapat bereksperimen dengan perintah dan konfigurasi model menggunakan Vertex AI Studio.


Berikan masukan tentang pengalaman Anda dengan Vertex AI in Firebase