遷移至 Firebase 中的 GA 版 Vertex AI


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

如果您使用的是 Vertex AI in Firebase 程式庫的預覽版 (FirebaseVertexAI-Preview),則需要進行以下變更,才能升級至使用 GA 版程式庫 (FirebaseVertexAI)。

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

在 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 版程式庫(所有人都必須更新)

請按照下列操作說明,更新應用程式的程式碼庫,以便使用程式庫的 GA 版本:

  1. 在 Xcode 中保持開啟應用程式專案,然後使用下列任一選項,將 Firebase Package 更新至 11.4.0 以上版本:

    • 選項 1:更新所有套件:依序前往「File」 >「Packages」 >「Update to Latest Package Versions」

    • 選項 2:個別更新 Firebase:前往「Package Dependencies」專區,找到 Firebase 套件。在 Firebase 套件上按一下滑鼠右鍵,然後選取「Update Package」

  2. 請確認 Firebase 套件現在顯示 11.4.0 以上版本。如果不是,請確認您指定的套件需求允許更新至 11.9.0 以上版本。

  3. 在「Project Editor」中選取應用程式目標,然後前往「Frameworks, Libraries, and Embedded Content」部分。

  4. 選取 + 按鈕,然後從 Firebase 套件中新增 FirebaseVertexAI

  5. 選取「Firebase Vertex AI - 預先發布版」,然後按下 按鈕。

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

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

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

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

  • 逾時

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

    • 將大部分 enum 類型替換為含有靜態變數的 struct。這項變更可讓 API 以回溯相容的方式進行更具彈性的演進。使用 switch 陳述式時,現在必須加入 default: 例項,以涵蓋未知或未處理的值,包括日後新增至 SDK 的新值。

    • 已將 BlockThreshold 列舉重新命名為 HarmBlockThreshold;這個類型現在是 struct

    • 已從下列列舉 (現在是 struct) 中移除 unknownunspecified 例:HarmCategoryHarmBlockThresholdHarmProbabilityBlockReasonFinishReason

    • 將列舉 ModelContent.Part 替換為名為 Part 的通訊協定,以便以回溯相容的方式新增新類型。如需進一步瞭解這項變更,請參閱「內容部分」一節。

  • 內容部分

    • 移除了 ThrowingPartsRepresentable 通訊協定,並簡化 ModelContent 的初始化器,以避免偶發的編譯器錯誤。未正確編碼的圖片在 generateContent 中使用時,仍會擲回錯誤。

    • ModelContent.Part 情況替換為符合 Part 通訊協定的下列 struct 類型:

      • .textTextPart
      • .dataInlineDataPart
      • .fileDataFileDataPart
      • .functionCallFunctionCallPart
      • .functionResponseFunctionResponsePart
  • 危害類別

    • 已變更 HarmCategory,使其不再巢狀於 SafetySetting 類型中。如果您將其稱為 SafetySetting.HarmCategory,可以改稱為 HarmCategory
  • 安全性意見回饋

    • 移除 SafetyFeedback 類型,因為它未在任何回應中使用。
  • 引文中繼資料

    • 已將 CitationMetadata 中的 citationSources 屬性重新命名為 citations
  • 總計可計費字元

    • CountTokensResponse 中的 totalBillableCharacters 屬性設為選用,以反映未傳送字元的情況。
  • 候選回應

    • CandidateResponse 重新命名為 Candidate,以便與其他平台保持一致。
  • 產生設定

    • GenerationConfig 的公用屬性變更為 internal。這些屬性仍可在初始化器中設定。

遷移作業可能發生的錯誤

在遷移至 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 金鑰。