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


使用 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)。

在线播放

您可以通过不等待模型生成的完整结果,而是使用流式处理部分结果,从而实现更快的互动。

不流式传输

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

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

您还可以执行以下操作

试用其他功能

了解如何控制内容生成

  • 了解提示设计,包括最佳实践、策略和示例提示。
  • 配置模型参数,例如温度和输出 token 数上限(适用于 Gemini)或宽高比和人物生成(适用于 Imagen)。
  • 使用安全设置来调整收到可能被视为有害的回答的可能性。
您还可以使用 Vertex AI Studio 对提示和模型配置进行实验。

详细了解支持的模型

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


提供有关 Vertex AI in Firebase 使用体验的反馈