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.5.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
。它们仍然可以在初始化程序中进行配置。
- 将