arrow_back

使用 Vertex AI Gemini API 的多模态检索增强生成 (RAG)

登录 加入
欢迎加入我们的社区,一起测试和分享您的知识!
done
学习 700 多个动手实验和课程并获得相关技能徽章

使用 Vertex AI Gemini API 的多模态检索增强生成 (RAG)

实验 1 小时 universal_currency_alt 5 个积分 show_chart 中级
info 此实验可能会提供 AI 工具来支持您学习。
欢迎加入我们的社区,一起测试和分享您的知识!
done
学习 700 多个动手实验和课程并获得相关技能徽章

GSP1231

Google Cloud 自定进度实验

概览

Gemini 是 Google DeepMind 开发的一系列生成式 AI 模型,专为多模态应用场景而设计。通过 Gemini API,您可以使用 Gemini Pro Vision 和 Gemini Pro 模型。

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

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

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

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

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

目标

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

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

设置和要求

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

请阅读以下说明。实验是计时的,并且您无法暂停实验。计时器在您点击开始实验后即开始计时,显示 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. 找到 generative-ai-jupyterlab 笔记本,然后点击打开 JupyterLab 按钮。

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

任务 2. 设置笔记本

  1. 点击 intro_multimodal_rag.ipynb 文件。

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

    • 对于项目 ID,请使用 ;对于位置,使用
注意:您可以跳过任何标为“仅限 Colab”的笔记本单元。

点击检查我的进度,验证已完成以下目标: 安装 Vertex AI SDK for Python 并导入库。

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

任务 3. 使用 Gemini Pro 模型

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

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

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

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

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

  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) 来构建强大的文档搜索引擎,以及如何提取并存储包含文本和图片的文档的元数据,并生成文档嵌入。此外,您还学习了如何使用文本查询和图片查询搜索元数据,以查找类似的文本和图片。最后,您学习了如何使用文本查询作为输入,从而使用文本和图片来执行搜索,获得符合上下文的答案。

后续步骤/了解详情

Google Cloud 培训和认证

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

上次更新手册的时间:2024 年 6 月 13 日

上次测试实验的时间:2024 年 6 月 13 日

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

此内容目前不可用

We will notify you via email when it becomes available

太好了!

We will contact you via email if it becomes available