在多模式请求中包含大型文件,以及使用 Cloud Storage for Firebase 管理文件

使用Gemini API Vertex AI in Firebase SDK,您可以提示 Gemini 模型生成文本 进行训练。多模态提示可以包含多种模态 (或输入类型),例如文字以及图片、PDF、视频和音频。

对于输入的非文本部分(例如媒体文件),您可以选择使用 Cloud Storage for Firebase,用于在请求中包含文件。在 以下是关于此功能您需要了解的内容:

  • 您可以将 Cloud Storage for Firebase 用于任何多模态请求(例如 文本生成和聊天)。本单元中的示例 本指南将介绍基本的文本和图片输入。

  • 您可以指定文件的 MIME 类型及其 Cloud Storage for Firebase 网址 (始终以 gs:// 开头)。这些值为 为上传到 Cloud Storage 的任何文件自动分配元数据 存储桶。

  • 您需要使用受支持的文件类型和网址


本解决方案指南介绍了如何在Cloud Storage for Firebase Google Cloud,请从您的应用将文件上传到 Cloud Storage for Firebase 存储分区, 然后将文件的 MIME 类型和 Cloud Storage for Firebase 网址添加到 向 Gemini API 发出多模态请求。

您想看一下代码示例吗?或者您已经设置了 Cloud Storage for Firebase,您可以随时将它与 多模态请求?

跳转到代码示例

为何要在您的应用中使用 Cloud Storage for Firebase

Cloud Storage for Firebase使用相同的快速、安全 Google Cloud Storage这样的可伸缩基础架构来存储 blob 和文件, 及其客户端 SDK 是专为移动应用和 Web 应用打造的。

对于 Vertex AI in Firebase SDK,请求大小上限为 20 MB。 如果请求过大,您会收到 HTTP 413 错误。如果某个文件的大小 使请求的总大小超过 20 MB,然后使用 Cloud Storage for Firebase 用于将文件包含在多模态请求中的网址。 不过,如果文件很小,您通常可以将其作为内嵌数据直接传递 (但请注意,以内嵌数据形式提供的文件在 运输,这会增加请求的大小)。

以下是使用 Cloud Storage for Firebase 的一些其他好处

  • 您可以让最终用户将图片从您的应用直接上传到 Cloud Storage for Firebase存储分区,然后就可以将这些图片添加到 只需指定文件的 MIME 类型并 Cloud Storage for Firebase 网址(文件的标识符)。

  • 如果最终用户需要提供图片、 特别是在它们的网络质量较差或不稳定的情况下

    • 如果文件上传或下载中断,Cloud Storage for Firebase SDK 会自动从上次停止的位置重新启动操作。
    • 同一上传文件可在没有最终用户的情况下多次使用 每次您的应用需要时都必须上传同一文件 新的多模态请求)。
  • 您可以限制最终用户对存储在 Cloud Storage for Firebase(使用 Firebase Security Rules), 仅允许获得授权的用户上传、下载或删除文件。

  • 您可以通过 Firebase 或 Google Cloud 访问存储分区中的文件。 让您可以灵活地进行服务器端处理,例如 使用 Google Cloud Storage API 进行过滤或视频转码。

支持哪些类型的文件和网址?

要使用文件和网址, 包含 Vertex AI in Firebase 个 SDK 的 Cloud Storage for Firebase 个网址:

  • 文件必须符合 多模态请求的输入文件要求 (使用 Vertex AI in Firebase SDK 时)。这包括要求 例如 MIME 类型和文件大小

  • 该文件必须存储在 Cloud Storage for Firebase 存储分区中 (这意味着,Firebase 服务可以访问该存储分区,如 Firebase Security Rules)。 如果您可以在 Firebase控制台、 则是一个 Cloud Storage for Firebase 存储分区。

  • Cloud Storage for Firebase 存储分区必须位于 即您注册应用的 ID

  • 该文件的 Cloud Storage for Firebase 网址必须以 gs:// 开头, 所有 Google Cloud Storage 网址的构建方式。

  • 该文件的网址不能是“浏览器”网址(例如图片的网址) 互联网上提供的任何信息)。

此外,存储分区的 Firebase Security Rules 必须允许 对文件的适当访问权限。例如:

  • 如果您有公共规则, 那么任何用户或客户端都可以访问该文件并在调用中提供其网址 使用 Vertex AI in Firebase SDK。这些类型的规则应仅用于 在早期原型设计阶段(除非这些文件确实 是可以完全公开访问的文件)。

  • 如果您有可靠的规则 (强烈建议提供),则 Firebase 会检查已登录的用户或 在允许调用进行之前,客户端对文件拥有足够的访问权限 通过提供的网址进行重定向。

Cloud Storage for Firebase 网址与 Vertex AI in Firebase 搭配使用

第 1 步:设置 Cloud Storage for Firebase

以下是您需要完成的高级任务:

  1. 在您的 Firebase 项目中创建一个 Cloud Storage for Firebase 存储分区。

  2. 将“Firebase Security Rules”应用到此存储分区。Firebase Security Rules可为你提供帮助 只允许经过授权的最终用户访问,以保护您的文件。

  3. Cloud Storage for Firebase 的客户端库添加到您的应用中。

    请注意,您可以跳过此任务,但必须始终 在多模态请求中明确添加 MIME 类型和 Cloud Storage for Firebase 网址值

第 2 步:将文件上传到存储分区

当您将文件上传到存储分区时,Cloud Storage 会自动应用 以下两项信息添加到该文件中您需要添加 在多模态请求中使用这些值(如本示例的 指南)。

  • MIME 类型:这是文件的媒体类型(例如 image/png)。 Cloud Storage for Firebase 会自动尝试检测 MIME 类型 并将该元数据应用于该存储分区中的对象。不过, 您可以选择在上传期间指定 MIME 类型。

  • Cloud Storage for Firebase 网址:这是文件的唯一标识符。 网址必须以 gs:// 开头。

第 3 步:在多模态请求中包含文件的 MIME 类型和网址

将文件存储在 Cloud Storage for Firebase 存储分区中后,您可以 在多模态请求中添加其 MIME 类型和 Cloud Storage for Firebase 网址。 请注意,这些示例展示的是非流式 generateContent 请求, 也可以将 Cloud Storage for Firebase 网址用于直播和聊天。

要在请求中包含该文件,您可以使用以下任一选项:

方法 1:使用 Storage 引用添加 MIME 类型和网址

如果您刚刚将文件上传到存储分区,并且想要 立即将文件(通过 Storage 引用)包含在多模态中 请求。调用同时需要 MIME 类型和 Cloud Storage for Firebase 网址。

方法 2:明确包含 MIME 类型和网址

如果您知道 MIME 类型的值和 Cloud Storage for Firebase 网址,并且您希望将它们明确包含在 多模态请求。该调用同时需要 MIME 类型和网址。