Melakukan migrasi untuk menggunakan Vertex AI SDK, bukan Google AI SDK

Halaman ini menjelaskan cara melakukan migrasi dari SDK klien Google AI ke SDK klien Vertex AI in Firebase di aplikasi seluler atau web Anda. SDK Vertex AI in Firebase tersedia untuk platform Apple (Swift), Android (Kotlin dan Java), Web (JavaScript), dan Flutter (Dart).

Buka langsung petunjuk migrasi

Mengapa bermigrasi untuk menggunakan Vertex AI?

Anda mungkin telah mencoba versi alternatif Gemini API menggunakan Google AI Studio atau SDK klien Google AI. SDK ini berguna untuk memulai Gemini API dan prototyping. Namun, untuk aplikasi seluler dan web produksi atau skala perusahaan yang langsung memanggil sisi klien Gemini API, Firebase sangat merekomendasikan untuk memanggil Vertex AI Gemini API menggunakan Firebase SDK kami.

Fitur keamanan untuk aplikasi seluler dan web

Untuk aplikasi seluler dan web, keamanan sangat penting dan memerlukan pertimbangan khusus karena kode Anda (termasuk panggilan ke Gemini API) berjalan di lingkungan yang tidak dilindungi.

  • Secara default, Vertex AI Gemini API diotorisasi oleh Google Cloud IAM, bukan oleh kunci API seperti Google AI Gemini API. SDK Vertex AI in Firebase dibuat untuk memanggil Vertex AI Gemini API yang lebih aman.

  • Untuk aplikasi seluler dan web, Anda perlu melindungi Gemini API dan resource project (seperti model yang dioptimalkan) dari penyalahgunaan oleh klien yang tidak sah. Anda dapat menggunakan Firebase App Check untuk memverifikasi bahwa semua panggilan API berasal dari aplikasi sebenarnya, dan fitur ini hanya tersedia jika Anda menggunakan SDK Vertex AI in Firebase.

Ekosistem yang dibuat untuk aplikasi seluler dan web

Firebase adalah platform Google untuk mengembangkan aplikasi seluler dan web. Menggunakan SDK Vertex AI in Firebase berarti aplikasi Anda berada dalam ekosistem yang berfokus pada kebutuhan aplikasi dan developer full-stack. Misalnya, Anda disiapkan untuk melakukan hal berikut dan banyak lagi:

  • Gunakan Cloud Storage for Firebase untuk menyertakan file besar dalam permintaan multimodal Anda. Selain itu, manfaatkan SDK klien yang menangani upload dan download file (bahkan dalam kondisi jaringan yang buruk) serta menawarkan keamanan yang lebih baik untuk data pengguna akhir Anda. Pelajari lebih lanjut di panduan solusi tentang penggunaan Cloud Storage for Firebase.

  • Mengelola data terstruktur menggunakan SDK database yang dibuat untuk aplikasi seluler dan web (seperti Cloud Firestore).

  • Tetapkan konfigurasi waktu proses secara dinamis (seperti lokasi) atau tukar nilai di aplikasi Anda (seperti nama model) tanpa merilis versi aplikasi baru menggunakan Firebase Remote Config.

Manfaat tambahan menggunakan Vertex AI dari Google Cloud

Seiring penggunaan AI generatif dalam aplikasi dan alur kerja Anda semakin matang, Anda mungkin memerlukan platform yang menawarkan solusi menyeluruh untuk mem-build dan men-deploy aplikasi AI generatif. Google Cloud menyediakan ekosistem alat yang komprehensif untuk memungkinkan Anda memanfaatkan kecanggihan AI generatif, mulai dari tahap awal pengembangan aplikasi hingga deployment aplikasi, hosting aplikasi, dan mengelola data kompleks dalam skala besar.

Platform Vertex AI dari Google Cloud menawarkan serangkaian alat MLOps yang menyederhanakan penggunaan, deployment, dan pemantauan model AI untuk efisiensi dan keandalan. Selain itu, integrasi dengan database, alat DevOps, logging, pemantauan, dan IAM memberikan pendekatan holistik untuk mengelola seluruh siklus proses AI generatif.

Pelajari lebih lanjut kasus penggunaan Vertex AI dalam dokumentasi Google Cloud.

Bermigrasi ke Vertex AI in Firebase SDK

Migrasi ke SDK Vertex AI in Firebase memerlukan tiga langkah utama:

  1. Siapkan project Firebase baru atau yang sudah ada dan hubungkan aplikasi Anda ke Firebase.

  2. Migrasikan codebase Anda, yang hanya memerlukan perubahan SDK dan kode inisialisasi (termasuk nama model). Tidak ada perubahan yang diperlukan untuk kode apa pun yang benar-benar memanggil Gemini API.

  3. Hapus kunci API yang tidak digunakan dan nonaktifkan API yang tidak digunakan.

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

Meskipun Anda sudah memahami Firebase, tinjau bagian ini untuk memastikan bahwa project dan aplikasi Firebase Anda disiapkan untuk menggunakan SDK Vertex AI in Firebase.

Langkah 2: Migrasikan codebase Anda

Pilih platform aplikasi Anda untuk melihat petunjuk khusus platform.

Google AI SDK dan Vertex AI in Firebase SDK dibuat agar migrasi antar-platform semudah mungkin.

Untuk melakukan migrasi, Anda hanya perlu mengubah SDK yang diintegrasikan ke dalam codebase aplikasi dan inisialisasi layanan serta model generatif. Anda tidak perlu mengubah kode apa pun yang benar-benar memanggil Gemini API.

Mengubah SDK

Google AI

Kotlin+KTX

dependencies {
  // ... other androidx dependencies

  // add the dependency for the Google AI client SDK for Android
  implementation("com.google.ai.client.generativeai:generativeai:VERSION")
}

Java

dependencies {
  // ... other androidx dependencies

  // add the dependency for the Google AI client SDK for Android
  implementation("com.google.ai.client.generativeai:generativeai:VERSION")

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

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

Vertex AI in Firebase

Kotlin+KTX

dependencies {
  // ... other androidx dependencies

  // add the dependency for the Vertex AI in Firebase SDK for Android
  implementation("com.google.firebase:firebase-vertexai:16.0.2")
}

Java

dependencies {
  // ... other androidx dependencies

  // add the dependency for the Vertex AI in Firebase SDK for Android
  implementation("com.google.firebase:firebase-vertexai:16.0.2")

  // 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")
}

Mengubah inisialisasi

Google AI

Kotlin+KTX

val generativeModel = GenerativeModel(modelName = "MODEL_NAME",
    // Access your API key as a Build Configuration variable
    apiKey = BuildConfig.apiKey
)

Java

GenerativeModel gm = new GenerativeModel("MODEL_NAME",
    // Access your API key as a Build Configuration variable
    BuildConfig.apiKey
);

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

Vertex AI in Firebase

Kotlin+KTX

val generativeModel = Firebase.vertexAI.generativeModel("MODEL_NAME")

Java

GenerativeModel gm = FirebaseVertexAI.getInstance()
        .generativeModel("MODEL_NAME");
GenerativeModelFutures model = GenerativeModelFutures.from(gm);

Memperbarui impor

Cuplikan kode berikut menggunakan class Chat, Content, dan GenerativeModelFutures sebagai contoh, tetapi hal yang sama berlaku untuk class lain dalam nama paket yang sama.

Google AI

Kotlin+KTX

import com.google.ai.client.generativeai.Chat
import com.google.ai.client.generativeai.type.Content
import com.google.ai.client.generativeai.java.GenerativeModuleFutures

Java

import com.google.ai.client.generativeai.Chat;
import com.google.ai.client.generativeai.type.Content;
import com.google.ai.client.generativeai.java.GenerativeModuleFutures;

Vertex AI in Firebase

Kotlin+KTX

import com.google.firebase.vertexai.Chat
import com.google.firebase.vertexai.type.Content
import com.google.firebase.vertexai.java.GenerativeModuleFutures

Java

import com.google.firebase.vertexai.Chat;
import com.google.firebase.vertexai.type.Content;
import com.google.firebase.vertexai.java.GenerativeModuleFutures;

Langkah 3: Hapus kunci API yang tidak digunakan dan nonaktifkan API yang tidak digunakan

Jika Anda tidak perlu lagi menggunakan kunci API Google AI, ikuti praktik terbaik keamanan dan hapus kunci tersebut. Anda dapat melihat dan menghapus kunci API Google AI di bagian API keys di Google AI Studio.

Selain itu, jika Anda tidak lagi menggunakan Google AI Gemini API, nonaktifkan di project Anda. Anda dapat melakukannya di konsol Google Cloud dari halaman Generative Language API (generativelanguage.googleapis.com). ("Generative Language API" adalah nama resmi Google AI Gemini API.)

Kamu bisa apa lagi?