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


借助Gemini API,你可以在各种平台上构建自由形式的对话 多个回合。Vertex AI in Firebase SDK 简化了该流程 对话的状态,这与使用 generateContentStream()generateContent(),你无需自行存储对话记录。

准备工作

如果您还没有这样做,请完成 Vertex AI in Firebase SDK 入门指南。 请确保您已完成以下所有操作:

  1. 设置一个新的或现有的 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的体验