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


Vertex AI in Firebase 已于 2024 年 10 月 21 日发布正式版 (GA)。

如果您使用的是 Beta 版 Vertex AI in Firebase 库 (firebase-vertexai:16.0.0-betaXX),则需要进行以下更改才能升级,以使用该库的正式版(firebase-vertexai:16.0.0 或更高版本)。

下面简要列出了迁移所需的更改:

在 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 版本(所有开发者都必须更新)

请按照以下说明更新依赖项,以使用最新版本的 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.5.1"))
    
      // 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

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

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

  • 函数调用
    如果您在 GA 之前实现了此功能,则需要更新架构定义方式。建议您查看更新后的函数调用指南,了解如何编写函数声明。

  • 使用 responseSchema 生成结构化输出(例如 JSON)
    如果您在 GA 发布之前实现了此功能,则需要更新架构定义方式。建议您查看新的结构化输出指南,了解如何编写 JSON 架构。

  • 超时

    • 将请求的默认超时时间更改为 180 秒。
  • 枚举

    • enum 类和 sealed 类替换为常规类。此更改让您能够更灵活地以向后兼容的方式改进 API。

    • BlockThreshold 枚举重命名为 HarmBlockThreshold

    • 从以下枚举中移除了值:HarmBlockThresholdHarmProbabilityHarmSeverityBlockReasonFinishReason

  • Blob 方法

    • 重命名了名称中包含 Blob 的所有方法,以改用 InlineData
  • 安全设置

    • 将字段 method 更改为了可为 null。
  • 时长类别

    • 移除了 Kotlin 的 Duration 类的所有用法,并将其替换为 long。此变更可提高与 Java 的互操作性。
  • 引用元数据

    • 将之前在 CitationMetadata 中声明的所有字段封装到名为 Citation 的新类中。您可以在 CitationMetadata 中名为 citations 的列表中找到引文。此项变更有助于更好地在各个平台上对齐类型。
  • 统计令牌数

    • totalBillableCharacters 字段更改为了可为空字段。
  • 应计费字符总数

    • CountTokensResponse 中的 totalBillableCharacters 属性更改为了可选属性,以反映没有发送字符的情况。
  • 实例化模型

    • requestOptions 参数移到了参数列表的末尾,以与其他平台保持一致。