Vertex AI in Firebase 已于 2024 年 10 月 21 日发布正式版 (GA)。
如果您使用的是 Vertex AI in Firebase 库的预览版 (FirebaseVertexAI-Preview
),则需要进行以下更改,才能升级为使用该库的 GA 版 (FirebaseVertexAI
)。
下面简要列出了迁移所需的更改:
- 在 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 版本(所有开发者都必须更新)
请按照以下说明更新应用的代码库,以使用该库的 GA 版本:
在 Xcode 中,打开您的应用项目,然后使用以下任一选项将 Firebase 软件包更新到 11.4.0 或更高版本:
方法 1:更新所有软件包:依次选择 File(文件)> Packages(软件包)> Update to Latest Package Versions(更新到最新的软件包版本)。
方法 2:单独更新 Firebase:前往名为软件包依赖项的部分,找到 Firebase 软件包。右键点击 Firebase 软件包,然后选择 Update Package。
确保 Firebase 软件包现在显示的版本为 11.4.0 或更高版本。如果不符合,请验证您指定的软件包要求是否允许更新到 11.6.0 或更高版本。
在 Project Editor 中选择应用的目标,然后前往 Frameworks, Libraries, and Embedded Content 部分。
选择
+
按钮,然后从 Firebase 软件包中添加 FirebaseVertexAI。选择 FirebaseVertexAI-Preview,然后按
—
按钮。
其他更改(根据您使用的功能而定)
我们对 SDK 的 GA 版本进行了多项更改。请查看以下列表,了解您可能需要在代码中进行哪些更改,以便在应用中使用 GA 版 SDK。
函数调用
如果您在 GA 之前实现了此功能,则需要更新架构定义方式。建议您查看更新后的函数调用指南,了解如何编写函数声明。使用
responseSchema
生成结构化输出(例如 JSON)
如果您在 GA 发布之前实现了此功能,则需要更新架构定义方式。建议您查看新的结构化输出指南,了解如何编写 JSON 架构。超时
- 将请求的默认超时时间更改为 180 秒。
枚举
将大多数
enum
类型替换成了包含静态变量的struct
。此更改让您能够更灵活地以向后兼容的方式改进 API。现在,使用switch
语句时,您必须添加default:
情况来涵盖未知或未处理的值,包括将来添加到 SDK 中的新值。将
BlockThreshold
枚举重命名为HarmBlockThreshold
;此类型现在是struct
。从以下枚举(现在是
struct
)中移除了unknown
和unspecified
情况:HarmCategory
、HarmBlockThreshold
、HarmProbability
、BlockReason
和FinishReason
。将枚举
ModelContent.Part
替换为名为Part
的协议,以允许以向后兼容的方式添加新类型。内容部分部分对此变更进行了更详细的介绍。
内容部分
移除了
ThrowingPartsRepresentable
协议,并简化了ModelContent
的初始化程序,以避免偶尔出现编译器错误。未正确编码的图片在generateContent
中使用时仍会抛出错误。将
ModelContent.Part
情况替换为符合Part
协议的以下struct
类型:.text
到TextPart
.data
至InlineDataPart
.fileData
至FileDataPart
.functionCall
至FunctionCallPart
.functionResponse
到FunctionResponsePart
危害类别
- 更改了
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.
如果您收到内容为 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 密钥。