遷移至 Firebase 中的 GA 版 Vertex AI


Vertex AI in Firebase 已於 2024 年 10 月 21 日正式發布 (GA)。

如果您使用的是 Vertex AI in Firebase 程式庫的 Beta 版 (firebase-vertexai:16.0.0-betaXX),則需要進行以下變更,才能升級至使用 GA 版的程式庫 (firebase-vertexai:16.0.0 以上版本)。

以下概略列出遷移作業所需的變更:

在 Firebase 專案中啟用新的必要 API (所有人都必須啟用)

您必須在 Firebase 專案中啟用 Vertex AI in Firebase API,並將其加入 Firebase API 金鑰的許可清單。這是使用 GA 版 Vertex AI in Firebase 所需的新 API。

  1. Firebase 主控台中,前往「運用 Gemini 建構內容」頁面

  2. Vertex AI in Firebase 資訊卡中,按一下「開始使用」,啟動可協助您啟用此 API 的工作流程,並將其加入 Firebase API 金鑰的許可清單。

  3. 您可以略過控制台中的其餘工作流程。

更新至 GA 版程式庫(所有人都必須更新)

請按照以下操作說明更新依附元件,以便使用 Firebase Android BoM 的最新版本。您不一定要使用 BoM,但我們強烈建議您使用,因為這有助於確保應用程式使用各個 Firebase 程式庫的相容版本。

  1. 模組 (應用程式層級) Gradle 檔案 (通常為 <project>/<app-module>/build.gradle.kts<project>/<app-module>/build.gradle)) 中,將 Vertex AI in Firebase 的依附元件取代為以下內容:

    // BEFORE
    dependencies {
      implementation("com.google.firebase:firebase-vertexai:16.0.0-betaXX")
    }
    
    // AFTER
    dependencies {
      // Import the BoM for the Firebase platform
      implementation(platform("com.google.firebase:firebase-bom:33.10.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")
    }
  2. 將 Android 專案與 Gradle 檔案同步處理。

請注意,如果您選擇不使用 Firebase BoM,請接受 Android Studio 建議的最新版 firebase-vertexai

其他異動 (視您使用的功能而定)

我們對 GA 版本的 SDK 實作了幾項變更。請查看以下清單,瞭解您可能需要在程式碼中進行的任何變更,以便在應用程式中採用 SDK 的 GA 版本。

  • 函式呼叫
    如果您在 GA 之前實作這項功能,則需要更新定義結構定義的方式。建議您參閱更新版函式呼叫指南,瞭解如何編寫函式宣告。

  • 使用 responseSchema 產生結構化輸出內容 (例如 JSON)
    如果您在 GA 之前實作這項功能,就必須更新結構定義方式。建議您參閱新的結構化輸出指南,瞭解如何編寫 JSON 結構定義。

  • 逾時

    • 將要求的預設逾時時間變更為 180 秒。
  • 枚舉

    • enum 類別和 sealed 類別替換為一般類別。這項變更可讓 API 以回溯相容的方式更具彈性地進行演進。

    • BlockThreshold 列舉重新命名為 HarmBlockThreshold

    • 已從下列列舉項目移除值:HarmBlockThresholdHarmProbabilityHarmSeverityBlockReasonFinishReason

  • Blob 方法

    • 將名稱中含有 Blob 的所有方法重新命名為 InlineData
  • 安全設定

    • method 欄位變更為可為空值。
  • Duration 類別

    • 移除所有 Kotlin 的 Duration 類別用法,並以 long 取代。這項變更可改善與 Java 的互通性。
  • 引文中繼資料

    • 將先前在 CitationMetadata 中宣告的所有欄位,包裝到名為 Citation 的新類別中。您可以在 CitationMetadata 中,找到名為 citations 的清單中的引文。這項異動可讓不同平台的類型更一致。
  • 計算權杖

    • totalBillableCharacters 欄位變更為可為空值。
  • 總計可計費字元

    • CountTokensResponse 中的 totalBillableCharacters 屬性設為選用,以反映未傳送字元的情況。
  • 例項化模型

    • requestOptions 參數移至參數清單的結尾,以便與其他平台保持一致。

遷移作業可能發生的錯誤

在遷移至 GA 版 Vertex AI in Firebase 時,如果您未完成本遷移指南中所述的所有必要變更,可能會發生錯誤。

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

如果您收到 403 錯誤,並顯示 Requests to this API firebasevertexai.googleapis.com ... are blocked.,通常表示 Firebase 設定檔/物件中的 API 金鑰,在您嘗試使用的產品的許可清單中沒有必要的 API。

請確認應用程式使用的 API 金鑰含有所有金鑰「API 限制」許可清單中的必要 API對於 Vertex AI in Firebase,API 金鑰的許可清單中至少必須包含 Vertex AI in Firebase API。透過 Firebase 控制台啟用新 API時,這個 API 應會自動加入 API 金鑰的許可清單。

您可以在 Google Cloud 主控台的「API 和服務>「憑證」面板中查看所有 API 金鑰。