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 控制台中,前往 Build with Gemini 页面。
在 Vertex AI in Firebase 卡片中,点击开始以启动工作流,该工作流可帮助您启用此 API 并将其添加到 Firebase API 密钥的许可名单中。
您可以在控制台中跳过其余的工作流。
更新到库的正式版(所有人都需要)
请按照以下说明更新应用的代码库,以使用该库的正式版:
在 Xcode 中,打开您的应用项目,然后使用以下任一选项将 Firebase 软件包更新到 11.4.0 或更高版本:
方法 1:更新所有软件包:依次前往 File > Packages > Update to Latest Package Versions。
方法 2:单独更新 Firebase:前往名为软件包依赖项的部分,找到 Firebase 软件包。右键点击 Firebase 软件包,然后选择 Update Package。
确保 Firebase 软件包现在显示的是 11.4.0 或更高版本。如果不符合,请验证您指定的软件包要求是否允许更新到 11.4.0 或更高版本。
在项目编辑器中选择应用的目标,然后前往框架、库和嵌入式内容部分。
选择
+
按钮,然后从 Firebase 软件包中添加 FirebaseVertexAI。选择 FirebaseVertexAI-Preview,然后按
—
按钮。
其他更改(具体取决于您使用的功能)
我们对 SDK 的 GA 版本进行了多项更改。请查看以下列表,了解您可能需要在代码中进行哪些更改,以便在应用中使用 GA 版 SDK。
函数调用
如果您在正式版发布之前实现此功能,则需要更新架构的定义方式。建议您查看更新后的函数调用指南,了解如何编写函数声明。使用
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
。它们都可以在初始化程序中配置。
- 将