Lakukan migrasi untuk menggunakan Vertex AI versi GA di Firebase


Vertex AI in Firebase diluncurkan ke Ketersediaan Umum (GA) pada 21 Oktober 2024.

Jika menggunakan library Vertex AI in Firebase versi pratinjau (FirebaseVertexAI-Preview), Anda perlu melakukan perubahan berikut untuk mengupgrade guna menggunakan library versi GA (FirebaseVertexAI).

Berikut adalah daftar umum perubahan yang diperlukan untuk melakukan migrasi:

Aktifkan API baru yang diperlukan di project Firebase Anda (diperlukan untuk semua orang)

Anda perlu mengaktifkan Vertex AI in Firebase API di project Firebase dan menambahkannya ke daftar yang diizinkan kunci Firebase API Anda. Ini adalah API baru yang diperlukan untuk menggunakan Vertex AI in Firebase versi GA.

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

  2. Di kartu Vertex AI in Firebase, klik Mulai untuk meluncurkan alur kerja yang membantu Anda mengaktifkan API ini dan menambahkannya ke daftar yang diizinkan kunci Firebase API Anda.

  3. Anda dapat melewati alur kerja lainnya di konsol.

Mengupdate ke versi GA library (diperlukan untuk semua orang)

Ikuti petunjuk berikut untuk mengupdate codebase aplikasi Anda agar dapat menggunakan library versi GA:

  1. Di Xcode, dengan project aplikasi Anda dalam keadaan terbuka, update Paket Firebase ke versi 11.4.0 atau yang lebih baru menggunakan salah satu opsi berikut:

    • Opsi 1: Mengupdate semua paket: Buka File > Packages > Update to Latest Package Versions.

    • Opsi 2: Mengupdate Firebase satu per satu: Buka paket Firebase di bagian yang disebut Dependensi Paket. Klik kanan paket Firebase, lalu pilih Update Package.

  2. Pastikan paket Firebase sekarang menampilkan versi 11.4.0 atau yang lebih baru. Jika tidak, verifikasi bahwa Persyaratan Paket yang Anda tentukan mengizinkan update ke versi 11.7.0 atau yang lebih baru.

  3. Pilih target aplikasi Anda di Project Editor, lalu buka bagian Framework, Library, dan Konten Tersemat.

  4. Pilih tombol +, lalu tambahkan FirebaseVertexAI dari paket Firebase.

  5. Pilih FirebaseVertexAI-Preview, lalu tekan tombol .

Perubahan lainnya (diperlukan bergantung pada fitur yang Anda gunakan)

Beberapa perubahan telah diterapkan untuk versi GA SDK. Tinjau daftar berikut untuk mengetahui perubahan yang mungkin perlu Anda buat dalam kode untuk menyesuaikan penggunaan SDK versi GA di aplikasi Anda.

  • Panggilan fungsi
    Jika Anda menerapkan fitur ini sebelum GA, Anda harus melakukan pembaruan pada cara menentukan skema. Sebaiknya tinjau panduan panggilan fungsi yang telah diperbarui untuk mempelajari cara menulis deklarasi fungsi Anda.

  • Membuat output terstruktur (seperti JSON) menggunakan responseSchema
    Jika Anda menerapkan fitur ini sebelum GA, Anda harus melakukan pembaruan pada cara menentukan skema. Sebaiknya tinjau panduan output terstruktur baru untuk mempelajari cara menulis skema JSON.

  • Waktu tunggu

    • Mengubah waktu tunggu default untuk permintaan menjadi 180 detik.
  • Enumerasi

    • Mengganti sebagian besar jenis enum dengan struct dengan variabel statis. Perubahan ini memungkinkan fleksibilitas yang lebih besar untuk mengembangkan API dengan cara yang kompatibel dengan versi sebelumnya. Saat menggunakan pernyataan switch, Anda kini harus menyertakan kasus default: untuk mencakup nilai yang tidak diketahui atau tidak ditangani, termasuk nilai baru yang ditambahkan ke SDK pada masa mendatang.

    • Mengganti nama enumerasi BlockThreshold menjadi HarmBlockThreshold; jenis ini sekarang menjadi struct.

    • Menghapus kasus unknown dan unspecified dari enumerasi berikut (sekarang struct): HarmCategory, HarmBlockThreshold, HarmProbability, BlockReason, dan FinishReason.

    • Mengganti enumerasi ModelContent.Part dengan protokol bernama Part untuk memungkinkan jenis baru ditambahkan dengan cara yang kompatibel dengan versi sebelumnya. Perubahan ini dijelaskan secara lebih mendetail di bagian Bagian konten.

  • Bagian konten

    • Menghapus protokol ThrowingPartsRepresentable, dan menyederhanakan penginisialisasi untuk ModelContent guna menghindari error compiler yang sesekali terjadi. Gambar yang tidak dienkode dengan benar akan tetap menampilkan error saat digunakan di generateContent.

    • Mengganti kasus ModelContent.Part dengan jenis struct berikut yang sesuai dengan protokol Part:

      • .text ke TextPart
      • .data ke InlineDataPart
      • .fileData ke FileDataPart
      • .functionCall ke FunctionCallPart
      • .functionResponse ke FunctionResponsePart
  • Kategori bahaya

    • Mengubah HarmCategory agar tidak lagi bertingkat dalam jenis SafetySetting. Jika Anda menyebutnya sebagai SafetySetting.HarmCategory, nilai tersebut dapat diganti dengan HarmCategory.
  • Masukan keselamatan

    • Menghapus jenis SafetyFeedback, karena tidak digunakan dalam respons apa pun.
  • Metadata kutipan

    • Mengganti nama properti citationSources menjadi citations di CitationMetadata.
  • Total karakter yang dapat ditagih

    • Mengubah properti totalBillableCharacters di CountTokensResponse menjadi opsional untuk mencerminkan situasi saat tidak ada karakter yang dikirim.
  • Respons kandidat

    • Mengganti nama CandidateResponse menjadi Candidate agar cocok dengan platform lain.
  • Konfigurasi generasi

    • Mengubah properti publik GenerationConfig menjadi internal. Semuanya tetap dapat dikonfigurasi di penginisialisasi.

Kemungkinan error terkait migrasi

Saat bermigrasi untuk menggunakan Vertex AI in Firebase versi GA, Anda mungkin mengalami error jika belum menyelesaikan semua perubahan yang diperlukan seperti yang dijelaskan dalam panduan migrasi ini.

Error 403: Requests to this API firebasevertexai.googleapis.com ... are blocked.

Jika Anda menerima error 403 yang bertuliskan Requests to this API firebasevertexai.googleapis.com ... are blocked., biasanya hal ini berarti kunci API dalam file/objek konfigurasi Firebase Anda tidak memiliki API yang diperlukan dalam daftar yang diizinkan untuk produk yang Anda coba gunakan.

Pastikan kunci API yang digunakan oleh aplikasi Anda memiliki semua API yang diperlukan yang disertakan dalam daftar yang diizinkan "pembatasan API" kunci. Untuk Vertex AI in Firebase, kunci API Anda harus memiliki setidaknya Vertex AI in Firebase API dalam daftar yang diizinkan. API ini seharusnya telah ditambahkan secara otomatis ke daftar yang diizinkan kunci API saat Anda mengaktifkan API baru melalui konsol Firebase.

Anda dapat melihat semua kunci API di panel APIs & Services > Credentials di Google Cloud console.