迁移到使用 Vertex AI in Firebase 的 GA 版


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 密钥的许可名单中。这是使用正式版 Vertex AI in Firebase 所需的新 API。

  1. Firebase 控制台中,前往 Build with Gemini 页面

  2. Vertex AI in Firebase 卡片中,点击开始以启动工作流,该工作流可帮助您启用此 API 并将其添加到 Firebase API 密钥的许可名单中。

  3. 您可以在控制台中跳过工作流的其余部分。

更新到该库的 GA 版本(所有开发者都必须更新)

请按照以下说明更新应用的代码库,以使用该库的 GA 版本:

  1. 在 Xcode 中,打开您的应用项目,然后使用以下任一选项将 Firebase 软件包更新到 11.4.0 或更高版本:

    • 方法 1:更新所有软件包:依次选择 File(文件)> Packages(软件包)> Update to Latest Package Versions(更新到最新的软件包版本)。

    • 方法 2:单独更新 Firebase:在软件包依赖项部分中导航到 Firebase 软件包。右键点击 Firebase 软件包,然后选择 Update Package

  2. 确保 Firebase 软件包现在显示的版本为 11.4.0 或更高版本。如果不符合,请验证您指定的软件包要求是否允许更新到 11.4.0 或更高版本。

  3. Project Editor 中选择应用的目标,然后前往 Frameworks, Libraries, and Embedded Content 部分。

  4. 选择 + 按钮,然后从 Firebase 软件包中添加 FirebaseVertexAI

  5. 选择 FirebaseVertexAI-Preview,然后按 按钮。

其他更改(具体取决于您使用的功能)

我们对 SDK 的 GA 版本进行了多项更改。请查看以下列表,了解您可能需要在代码中进行的任何更改,以适应应用中 SDK 的正式版的占用情况。

  • 函数调用
    如果您在 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。它们仍然可以在初始化程序中进行配置。