arrow_back

在 Vertex AI 中使用 Gemini API 执行多模态检索增强生成 (RAG)

登录 加入
访问 700 多个实验和课程

在 Vertex AI 中使用 Gemini API 执行多模态检索增强生成 (RAG)

实验 1 小时 universal_currency_alt 5 个积分 show_chart 中级
info 此实验可能会提供 AI 工具来支持您学习。
访问 700 多个实验和课程

GSP1231

Google Cloud 自学实验的徽标

概览

Gemini 是 Google DeepMind 开发的一系列生成式 AI 模型,专为多模态应用场景而设计。

检索增强生成 (RAG) 已成为一种允许 LLM 访问外部数据的流行范式,同时也是一种建立依据的机制,旨在减少 AI 幻觉。RAG 模型经过训练后可从大型资料库中检索相关文档,随后根据检索到的文档生成回答。在本实验中,您将学习如何执行多模态 RAG,在此过程中,您会就一份同时包含文本和图片内容的财务文档执行问答。

基于文本的 RAG 与多模态 RAG 的对比

相较于基于文本的 RAG,多模态 RAG 具有多项优势:

  1. 更强大的知识获取:多模态 RAG 可以访问并处理文本形式和视觉形式的信息,从而为 LLM 提供更丰富、更全面的知识库。
  2. 更好的推理能力:通过整合视觉线索,多模态 RAG 可以跨多种不同类型的数据模态执行更明智的推理。

本实验为您介绍如何将 RAG 与 Vertex AI 中的 Gemini API、文本嵌入多模态嵌入配合使用,以构建一个文档搜索引擎。

前提条件

在开始本实验之前,您应该先熟悉:

  • Python 编程基础知识。
  • API 的一般性概念。
  • Vertex AI Workbench 上的 Jupyter 笔记本中运行 Python 代码

目标

在本实验中,您将学习如何完成以下操作:

  • 提取并存储包含文本和图片的文档的元数据,并生成文档嵌入
  • 通过文本查询来搜索元数据,以查找类似的文本或图片
  • 通过图片查询来搜索元数据,以查找类似的图片
  • 使用文本查询作为输入进行搜索,以获得符合上下文且包含文本和图片的答案

设置和要求

点击“开始实验”按钮前的注意事项

请阅读以下说明。实验是计时的,并且您无法暂停实验。计时器在您点击开始实验后即开始计时,显示 Google Cloud 资源可供您使用多长时间。

此实操实验可让您在真实的云环境中开展实验活动,免受模拟或演示环境的局限。为此,我们会向您提供新的临时凭据,您可以在该实验的规定时间内通过此凭据登录和访问 Google Cloud。

为完成此实验,您需要:

  • 能够使用标准的互联网浏览器(建议使用 Chrome 浏览器)。
注意:请使用无痕模式(推荐)或无痕浏览器窗口运行此实验。这可以避免您的个人账号与学生账号之间发生冲突,这种冲突可能导致您的个人账号产生额外费用。
  • 完成实验的时间 - 请注意,实验开始后无法暂停。
注意:请仅使用学生账号完成本实验。如果您使用其他 Google Cloud 账号,则可能会向该账号收取费用。

如何开始实验并登录 Google Cloud 控制台

  1. 点击开始实验按钮。如果该实验需要付费,系统会打开一个对话框供您选择支付方式。左侧是“实验详细信息”窗格,其中包含以下各项:

    • “打开 Google Cloud 控制台”按钮
    • 剩余时间
    • 进行该实验时必须使用的临时凭据
    • 帮助您逐步完成本实验所需的其他信息(如果需要)
  2. 点击打开 Google Cloud 控制台(如果您使用的是 Chrome 浏览器,请右键点击并选择在无痕式窗口中打开链接)。

    该实验会启动资源并打开另一个标签页,显示“登录”页面。

    提示:将这些标签页安排在不同的窗口中,并排显示。

    注意:如果您看见选择账号对话框,请点击使用其他账号
  3. 如有必要,请复制下方的用户名,然后将其粘贴到登录对话框中。

    {{{user_0.username | "<用户名>"}}}

    您也可以在“实验详细信息”窗格中找到“用户名”。

  4. 点击下一步

  5. 复制下面的密码,然后将其粘贴到欢迎对话框中。

    {{{user_0.password | "<密码>"}}}

    您也可以在“实验详细信息”窗格中找到“密码”。

  6. 点击下一步

    重要提示:您必须使用实验提供的凭据。请勿使用您的 Google Cloud 账号凭据。 注意:在本实验中使用您自己的 Google Cloud 账号可能会产生额外费用。
  7. 继续在后续页面中点击以完成相应操作:

    • 接受条款及条件。
    • 由于这是临时账号,请勿添加账号恢复选项或双重验证。
    • 请勿注册免费试用。

片刻之后,系统会在此标签页中打开 Google Cloud 控制台。

注意:如需访问 Google Cloud 产品和服务,请点击导航菜单,或在搜索字段中输入服务或产品的名称。 “导航菜单”图标和“搜索”字段

任务 1. 在 Vertex AI Workbench 中打开笔记本

  1. 在 Google Cloud 控制台的导航菜单 (“导航菜单”图标) 中依次点击 Vertex AI > Workbench

  2. 找到 实例,然后点击打开 JupyterLab 按钮。

Workbench 实例的 JupyterLab 界面会在新浏览器标签页中打开。

任务 2. 设置笔记本

  1. 打开 文件。

  2. 选择内核对话框中,从可用内核列表中选择 Python 3

  3. 运行笔记本的开始使用导入库部分。

    • 对于项目 ID,请使用 ;对于位置,使用
注意:您可以跳过任何标为“仅限 Colab”的笔记本单元。 如有笔记本单元在执行时遇到 429 响应,请等待 1 分钟,然后再次运行该单元以继续操作。

点击检查我的进度以验证是否完成了以下目标: 安装 GenAI SDK for Python 并导入库

在后续部分中,您将运行多个笔记本单元,以了解如何使用 Gemini API 来构建多模态 RAG 系统。

任务 3. 下载自定义 Python 实用程序和所需文件

Gemini 2.0 Flash (gemini-2.0-flash) 模型旨在处理自然语言任务、多轮文本和代码聊天以及代码生成。在本部分中,您将下载此笔记本需要的一些辅助函数,从而改进可读性。您还可以直接在 GitHub 上查看代码 (intro_multimodal_rag_utils.py)。

  1. 在此任务中,您通过运行笔记本单元来加载模型、下载辅助函数,并从 Cloud Storage 中获取文档和图片。

点击检查我的进度以验证是否完成了以下目标: 从 Cloud Storage 下载图片和文档

任务 4. 构建包含文本和图片的文档的元数据

本实验中使用的源数据是 Google-10K 的修改版,这份表单提供了 Google 公司财务业绩、经营活动、管理和风险系数的综合概览。原始文档较为庞大,因此您在本实验中将使用仅有 14 页的修改版,并且其内容拆分为两部分:第 1 部分第 2 部分。虽然这份示例文档经过截断处理,但其中仍然包含文本和图片,例如表格、图表和图形。

  1. 在此任务中,您需要运行笔记本单元来从文档中提取并存储文本和图像元数据。
注意:用于从文档中提取并存储文本和图像元数据的单元可能需要几分钟时间才能运行完毕。

点击检查我的进度以验证是否完成了以下目标: 从文档中提取并存储文本和图片元数据

任务 5. 文本搜索

首先,我们从一个简单的问题开始搜索,看看使用文本嵌入的简单文本搜索能否回答这个问题。预期回答是按照不同的股票类型显示基本每股净收入和摊薄每股净收入的值。

  1. 在此任务中,您将运行笔记本单元,以使用文本查询搜索类似的文本和图片。

点击检查我的进度以验证是否完成了以下目标: 使用文本查询搜索类似的文本

任务 6. 图片搜索

假设您想要搜索图片,不过所用的方法并不是输入字词,而是提供一张实际图片作为搜索线索。您手头有一份表格,其中包含两年的营收成本数据,您想在同一份文档或多个文档中查找相似的其他图片。

Gemini 和嵌入功能支持根据用户输入来识别类似的文本和图片,这种能力为开发下一项任务中探索的多模态 RAG 系统设定了关键基础。

  1. 在此任务中,您将运行笔记本单元,以使用图片查询搜索类似的图片。
注意:您可能需要等待几分钟才能看到此任务的得分。

点击检查我的进度以验证是否完成了以下目标: 使用图片查询搜索类似的图片

比较推理

假设我们有一张图表,展示了 Google A 类股票的业绩表现与标普 500 指数或其他科技公司股票的比较情况。您想对照这张图表,了解 C 类股票的业绩表现。此时您不仅可以查找另一张类似的图片,还可以请 Gemini 比较相关图片,并告诉您哪只股票是更理想的投资目标。Gemini 在给出回答之后还会说明原因。

  1. 在本任务中,您将运行笔记本单元,以比较两张图片,并查找相似度最高的图片。

点击检查我的进度以验证是否完成了以下目标: 比较推理

任务 7. 多模态检索增强生成 (RAG)

下面我们实施多模态 RAG,将一切整合起来。您将使用在前几部分中探索的所有元素来实施多模态 RAG。具体步骤如下所示:

  • 第 1 步:用户提供文本形式的查询,要查找的是文档内的图片和文字中内嵌的信息。
  • 第 2 步:使用与“文本搜索”部分中探索过的方法类似的方法,查找文档页面中的所有相关文本块。
  • 第 3 步:使用与“图片搜索”部分中探索过的方法类似的方法,基于与 image_description 匹配的用户查询查找页面中所有类似的图片。
  • 第 4 步:将第 2 步和第 3 步中找到的所有类似文本和图片合并为 context_textcontext_images
  • 第 5 步:借助 Gemini,我们可以传递用户查询以及第 2 步和第 3 步中找到的文本和图片上下文。您还可以添加模型在回答用户查询时应该记住的特定说明。
  • 第 6 步:Gemini 生成答案,您可以输出引用,以检查用于回答查询的所有相关文字和图片。
  1. 在本任务中,您将运行笔记本单元来执行多模态 RAG。
注意:您可能需要等待几分钟才能看到此任务的得分。

点击检查我的进度以验证是否完成了以下目标: 输出引用以检查所有相关文本和图片

恭喜!

在本实验中,您学习了如何使用多模态检索增强生成 (RAG) 来构建强大的文档搜索引擎,以及如何提取并存储包含文本和图片的文档的元数据,并生成文档嵌入。此外,您还学习了如何使用文本查询和图片查询搜索元数据,以查找类似的文本和图片。最后,您学习了如何使用文本查询作为输入,从而使用文本和图片来执行搜索,获得符合上下文的答案。

后续步骤/了解详情

请参阅以下资源,详细了解 Gemini:

Google Cloud 培训和认证

…可帮助您充分利用 Google Cloud 技术。我们的课程会讲解各项技能与最佳实践,可帮助您迅速上手使用并继续学习更深入的知识。我们提供从基础到高级的全方位培训,并有点播、直播和虚拟三种方式选择,让您可以按照自己的日程安排学习时间。各项认证可以帮助您核实并证明您在 Google Cloud 技术方面的技能与专业知识。

本手册的最后更新时间:2025 年 5 月 15 日

本实验的最后测试时间:2025 年 5 月 15 日

版权所有 2025 Google LLC 保留所有权利。Google 和 Google 徽标是 Google LLC 的商标。其他所有公司名和产品名可能是其各自相关公司的商标。

准备工作

  1. 实验会创建一个 Google Cloud 项目和一些资源,供您使用限定的一段时间
  2. 实验有时间限制,并且没有暂停功能。如果您中途结束实验,则必须重新开始。
  3. 在屏幕左上角,点击开始实验即可开始

使用无痕浏览模式

  1. 复制系统为实验提供的用户名密码
  2. 在无痕浏览模式下,点击打开控制台

登录控制台

  1. 使用您的实验凭证登录。使用其他凭证可能会导致错误或产生费用。
  2. 接受条款,并跳过恢复资源页面
  3. 除非您已完成此实验或想要重新开始,否则请勿点击结束实验,因为点击后系统会清除您的工作并移除该项目

此内容目前不可用

一旦可用,我们会通过电子邮件告知您

太好了!

一旦可用,我们会通过电子邮件告知您

一次一个实验

确认结束所有现有实验并开始此实验

使用无痕浏览模式运行实验

请使用无痕模式或无痕式浏览器窗口运行此实验。这可以避免您的个人账号与学生账号之间发生冲突,这种冲突可能导致您的个人账号产生额外费用。