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


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 密钥的许可名单中。这是新推出的 API,必须使用 Vertex AI in Firebase 的 GA 版本。

  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.6.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 即可。

其他更改(根据您使用的功能而定)

我们对 SDK 的 GA 版本进行了多项更改。请查看以下列表,了解您可能需要在代码中进行哪些更改,以便在应用中使用 GA 版 SDK。

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

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

  • 超时

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

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

    • BlockThreshold 枚举重命名为 HarmBlockThreshold

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

  • Blob 方法

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

    • method 字段更改为了可为空字段。
  • 时长类

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

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

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

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

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