使用 Gemini API 构建多轮对话(聊天)


使用 Gemini API,您可以构建跨多个回合的自由形式对话。Vertex AI in Firebase SDK 通过管理对话状态来简化该流程,因此与 generateContentStream()generateContent() 不同,您无需自行存储对话记录。

准备工作

请完成 Vertex AI in Firebase SDK 使用入门指南(如果尚未完成)。请确保您已完成以下所有操作:

  1. 设置一个新的 Firebase 项目或一个现有的 Firebase 项目,包括使用 Blaze 定价方案并启用所需的 API。

  2. 将您的应用与 Firebase 相关联,包括注册应用并将 Firebase 配置添加到应用中。

  3. 添加 SDK,并在应用中初始化 Vertex AI 服务和生成式模型。

将应用连接到 Firebase、添加 SDK 并初始化 Vertex AI 服务和生成式模型后,您就可以调用 Gemini API 了。

发送聊天提示请求

要构建多轮对话(如聊天),请先初始化 通过调用 startChat() 聊天。然后使用 sendMessageStream()(或 sendMessage()),用于发送新的用户消息, 还会在聊天记录中附加消息和回复。

与对话内容相关联的 role 有两种可能的选项:

  • user:提供提示的角色。此值是调用 sendMessageStream()(或 sendMessage())的默认值,如果传递其他角色,该函数会抛出异常。

  • model:提供响应的角色。使用现有 history 调用 startChat() 时,可以使用此角色。

选择你想逐字逐句给出回答 (sendMessageStream) 还是稍等 直到生成完整结果 (sendMessage)。

流式传输

通过不等待来自 API 的整个结果, 而是改用流式传输来处理部分结果。

不在线播放

或者,您也可以等待整个结果,而不是流式传输;只有在模型完成整个生成过程后,才会返回结果。

了解如何选择适合您的用例和应用的 Gemini 模型和(可选)位置

您还可以执行以下操作

  • 了解如何统计词元 然后再向模型发送长提示。
  • 设置 Cloud Storage for Firebase 以便在多模态请求中包含大型文件 Cloud Storage 个网址。文件可能包括图片、PDF 文件、视频和音频。
  • 开始考虑制作准备工作,包括 设置 Firebase App Check 保护 Gemini API 免遭未经授权的客户端滥用。

试用 Gemini API 的其他功能

了解如何控制内容生成

您还可以使用 Vertex AI Studio 对提示和模型配置进行实验。

详细了解 Gemini 模型

了解适用于各种用例的模型及其配额和价格


提供反馈 分享您对Vertex AI in Firebase的体验