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 (对所有人均为必需)
- 更新到库的 GA 版本 (所有开发者都必须执行此操作)
- 其他更改 (根据您使用的功能而定,可能需要执行)
在 Firebase 项目中启用新的必需 API(对所有人均为必需)
您需要在 Firebase 项目中启用 Vertex AI in Firebase API,并将其添加到 Firebase API 密钥的许可名单中。这是新推出的 API,必须使用 Vertex AI in Firebase 的 GA 版本。
在 Firebase 控制台中,前往使用 Gemini 进行构建页面。
在 Vertex AI in Firebase 卡片中,点击开始以启动工作流,该工作流可帮助您启用此 API 并将其添加到 Firebase API 密钥的许可名单中。
您可以在控制台中跳过工作流的其余部分。
更新到该库的 GA 版本(所有开发者都必须更新)
请按照以下说明更新依赖项,以使用最新版本的 Firebase Android BoM。使用 BoM 并非强制性要求,但我们强烈建议您使用它,因为它有助于确保您的应用使用各个 Firebase 库的兼容版本。
在您的模块(应用级)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.7.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") }将您的 Android 项目与 Gradle 文件同步。
请注意,如果您选择不使用 Firebase BoM,只需接受 Android Studio 建议的最新版 firebase-vertexai
即可。
其他更改(根据您使用的功能而定)
我们对 SDK 的 GA 版本进行了多项更改。请查看以下列表,了解您可能需要在代码中进行哪些更改,以便在应用中使用 GA 版 SDK。
函数调用
如果您在 GA 之前实现了此功能,则需要更新架构定义方式。建议您查看更新后的函数调用指南,了解如何编写函数声明。使用
responseSchema
生成结构化输出(例如 JSON)
如果您在 GA 发布之前实现了此功能,则需要更新架构定义方式。建议您查看新的结构化输出指南,了解如何编写 JSON 架构。超时
- 将请求的默认超时时间更改为 180 秒。
枚举
将
enum
类和sealed
类替换为常规类。此更改让您能够更灵活地以向后兼容的方式改进 API。将
BlockThreshold
枚举重命名为HarmBlockThreshold
。从以下枚举中移除了值:
HarmBlockThreshold
、HarmProbability
、HarmSeverity
、BlockReason
和FinishReason
。
Blob 方法
- 重命名了名称中包含
Blob
的所有方法,改为使用InlineData
。
- 重命名了名称中包含
安全设置
- 将
method
字段更改为了可为空字段。
- 将
时长类
- 移除了 Kotlin 的
Duration
类的所有用法,并将其替换为long
。此变更可提高与 Java 的互操作性。
- 移除了 Kotlin 的
引用元数据
- 将之前在
CitationMetadata
中声明的所有字段封装到名为Citation
的新类中。您可以在CitationMetadata
中名为citations
的列表中找到引文。此项变更有助于更好地在各个平台上对齐类型。
- 将之前在
统计词元数
- 将
totalBillableCharacters
字段更改为了可为空字段。
- 将
应计费字符总数
- 将
CountTokensResponse
中的totalBillableCharacters
属性更改为可选属性,以反映未发送任何字符的情况。
- 将
实例化模型
- 将
requestOptions
参数移到了参数列表的末尾,以与其他平台保持一致。
- 将
与迁移相关的可能错误
在迁移到 GA 版 Vertex AI in Firebase 时,如果您尚未完成本迁移指南中所述的所有必要更改,可能会遇到错误。
403 错误:Requests to this API firebasevertexai.googleapis.com ... are blocked.
如果您收到内容为 Requests to this API firebasevertexai.googleapis.com ... are blocked.
的 403 错误,通常表示 Firebase 配置文件/对象中的 API 密钥在其许可名单中没有您尝试使用的商品的必需 API。
请确保您的应用使用的 API 密钥包含密钥“API 限制”许可名单中的所有必需 API。对于 Vertex AI in Firebase,您的 API 密钥的许可名单中至少需要包含 Vertex AI in Firebase API。当您通过 Firebase 控制台启用新 API 时,此 API 应已自动添加到 API 密钥的许可名单中。
您可以在 Google Cloud 控制台的 API 和服务 > 凭据面板中查看所有 API 密钥。