使用 Gemini API,您可以构建跨多个回合的自由形式对话。Vertex AI in Firebase SDK 通过管理对话状态来简化该流程,因此与 generateContentStream()
或 generateContent()
不同,您无需自行存储对话记录。
准备工作
如果您尚未完成入门指南,请先完成该指南。该指南介绍了如何设置 Firebase 项目、将应用连接到 Firebase、添加 SDK、初始化 Vertex AI 服务以及创建 GenerativeModel
实例。
发送聊天提示请求
如需构建多轮对话(例如聊天),请先通过调用 startChat()
初始化聊天。然后,使用 sendMessageStream()
(或 sendMessage()
)发送新的用户消息,这也会将消息和回复附加到聊天记录中。
与对话内容相关联的 role
有两种可能的选项:
user
:提供提示的角色。此值是调用sendMessageStream()
(或sendMessage()
)的默认值,如果传递其他角色,该函数会抛出异常。model
:提供响应的角色。使用现有history
调用startChat()
时,可以使用此角色。
选择是流式传输回答 (sendMessageStream
),还是等待系统生成完整结果 (sendMessage
)。
在线播放
您可以通过不等待模型生成的完整结果,而是使用流式处理部分结果,从而实现更快的互动。
不流式传输
或者,您也可以等待整个结果,而不是流式传输;只有在模型完成整个生成过程后,才会返回结果。
您还可以执行以下操作
- 了解如何在向模型发送长提示之前计算令牌数。
- 设置 Cloud Storage for Firebase,以便在多模式请求中添加大型文件,并获得更可控的解决方案,以便在问题中提供文件。 文件可以是图片、PDF、视频和音频。
- 开始考虑为正式版做好准备,包括设置 Firebase App Check,以保护 Gemini API 免遭未经授权的客户端滥用。 此外,请务必查看正式版核对清单。
试用其他功能
- 根据纯文本提示生成文本。
- 从多模态提示(包括文本、图片、PDF、视频和音频)生成文本。
- 从文本和多模态提示生成结构化输出(例如 JSON)。
- 根据文本提示生成图片。
- 使用函数调用将生成式模型连接到外部系统和信息。
了解如何控制内容生成
- 了解提示设计,包括最佳实践、策略和示例提示。
- 配置模型参数,例如温度和输出 token 数上限(适用于 Gemini)或宽高比和人物生成(适用于 Imagen)。
- 使用安全设置来调整收到可能被视为有害的回答的可能性。
详细了解支持的模型
了解适用于各种用例的模型及其配额和价格。提供有关 Vertex AI in Firebase 使用体验的反馈