用于构建搜索和 RAG 体验的 Vertex AI API

Vertex AI 提供了一套 API,可帮助您构建自己的检索增强生成 (RAG) 应用或构建自己的搜索引擎。本页介绍了这些 API。

检索和生成

RAG 是一种方法,可让大语言模型 (LLM) 生成以您选择的数据源为依据的回答。RAG 分为两个阶段:

  1. 检索:快速获取最相关的事实可能是常见的搜索问题。借助 RAG,您可以快速检索生成回答所需的重要事实。
  2. 生成:LLM 使用检索到的数据生成有依据的回答。

Vertex AI 为这两个阶段提供了多种选项,以满足各种开发者需求。

检索选项包括 Vertex AI、自行构建检索工具、Vertex AI 上的 LlamaIndex、自行提供检索工具和 Google 搜索。生成选项包括 Grounded Generation API 和 Gemini。

检索

根据您的需求选择最合适的检索方法:

  • Vertex AI Search:Vertex AI Search 是一个具有 Google 搜索品质的信息检索引擎,您可以在任何利用贵企业数据的生成式 AI 应用中加入它。Vertex AI Search 可作为 RAG 的开箱即用语义和关键字搜索引擎,能够处理各种文档类型,并具有连接到各种来源系统(包括 BigQuery 和许多第三方系统)的连接器。

    如需了解详情,请参阅 Vertex AI Search

  • 自行构建检索功能:如果您想构建语义搜索,可以依赖 Vertex AI API 来构建自定义 RAG 系统的组件。这套 API 可为文档解析、嵌入生成、向量搜索和语义排名提供高质量实现。使用这些较低级别的 API 可让您灵活地设计检索器,同时依靠较低级别的 Vertex AI API 缩短产品上市时间并确保高质量。

    如需了解详情,请参阅构建您自己的检索增强生成模型

  • 引入现有检索功能:您可以将现有搜索用作基于事实的生成的检索器。您还可以使用适用于 RAG 的 Vertex API 将现有搜索升级到更高质量。

  • Vertex AI 上的 LlamaIndex:借助 Vertex AI 上的 LlamaIndex,熟悉此热门开源软件 (OSS) 框架的开发者可以构建可在生产环境和企业环境中使用的检索工具。

    如需了解详情,请参阅 Vertex AI 上的生成式 AI 文档中的 Vertex AI for RAG 上的 LlamaIndex 概览

  • Google 搜索:为 Gemini 模型使用“依托 Google 搜索建立依据”时,Gemini 会使用 Google 搜索,并生成基于相关搜索结果的输出。这种检索方法无需管理,您可以将全球知识提供给 Gemini。

    如需了解详情,请参阅 Vertex AI 上的生成式 AI 文档中的使用 Google 搜索进行归因部分。

生成

根据您的需求选择最合适的生成方法:

  • Grounded Generation API(包含许可名单的 GA):使用 Grounded Generation API 为用户的询问生成有依据的回答。此 API 使用经过专门优化的 Gemini 模型,可有效减少幻觉,并提供以您的来源、第三方来源或 Google 搜索为依据的回答,包括引用回应支持内容。

    如需了解详情,请参阅生成有依据的回答

  • Gemini:Gemini 是 Google 最强大的模型,可与 Google 搜索搭配使用,无需额外配置即可提供回答。您可以使用它构建完全自定义的基于地面生成解决方案。

    如需了解详情,请参阅 Vertex AI 上的生成式 AI 文档中的使用 Google 搜索进行归因部分。

  • Model Garden:如果您希望完全控制生成过程并使用自己选择的模型,可以使用 Vertex AI Model Garden 中的任何模型进行生成。

构建您自己的检索增强生成

开发用于接地的自定义 RAG 系统可在流程的每个步骤中提供灵活性和控制力。Vertex AI 提供了一套 API,可帮助您创建自己的搜索解决方案。使用这些 API 可让您灵活地设计 RAG 应用,同时依靠这些较低级别的 Vertex AI API 缩短上市时间并确保高质量。

Vertex AI 提供了用于处理和注释、嵌入、索引编制和检索、排名、基于事实的生成和验证的 API。

  • Document AI 布局解析器。 Document AI Layout Parser 可将各种格式的文档转换为结构化表示法,使段落、表格、列表等内容以及标题、页眉和页脚等结构元素可供访问,并创建情境感知的区块,以便在各种生成式 AI 和发现应用中更轻松地检索信息。

    如需了解详情,请参阅 Document AI 文档中的 Document AI 布局解析器

  • 嵌入 API:借助 Vertex AI 嵌入 API,您可以为文本或多模态输入创建嵌入。嵌入是浮点数向量,旨在捕获其输入的含义。您可以使用这些嵌入来支持使用 Vector Search 进行的语义搜索。

    如需了解详情,请参阅 Vertex AI 上的生成式 AI 文档中的文本嵌入多模态嵌入

  • Vector Search。检索引擎是 RAG 或搜索应用的关键部分。Vertex AI Vector Search 是一种检索引擎,可从数十亿个语义相似项或语义相关项中大规模搜索,每秒查询次数 (QPS) 高、召回率高、延迟时间短且成本效益高。它可以搜索密集嵌入,并在公开预览版中支持稀疏嵌入关键字搜索和混合搜索。

    如需了解详情,请参阅 Vertex AI 文档中的 Vertex AI 矢量搜索概览

  • Ranking API。 Ranking API 会接受文档列表,并根据文档与给定查询的相关性对这些文档重新排序。与仅考虑文档与查询的语义相似度的嵌入相比,Ranking API 可以更精确地为文档回答给定查询的效果打分。

    如需了解详情,请参阅对文档进行排名和重新排名

  • Grounded Generation API。使用基于事实的生成 API 为用户的提示生成有依据的回答。依据来源可以是您的 Vertex AI Search 数据存储区、您提供的自定义数据或 Google 搜索。

    如需了解详情,请参阅生成有依据的回答

  • Check Grounding API。 检查基准 API 用于确定给定文本在给定参考文本集中的基准程度。该 API 可以从参考文本中生成支持引用,以指明参考文本在哪些地方支持给定文本。除此之外,该 API 还可用于评估 RAG 系统的回答是否有依据。此外,作为一项实验性功能,该 API 还会生成矛盾的引文,以显示给定文本与参考文本不一致的地方。

    如需了解详情,请参阅检查接地

工作流:根据非结构化数据生成有依据的回答

以下工作流程概述了如何集成 Vertex AI RAG API,以便根据非结构化数据生成有依据的回答。

  1. 将非结构化文档(例如 PDF 文件、HTML 文件或带文本的图片)导入 Cloud Storage 位置。
  2. 使用布局解析器处理导入的文档。布局解析器会将非结构化文档拆分为多个部分,并将非结构化内容转换为结构化表示法。布局解析器还会从这些分块中提取注释。
  3. 使用 Vertex AI 文本嵌入 API 为分块创建文本嵌入
  4. 使用 Vector Search 编入索引和检索分块嵌入。
  5. 使用 Ranking API 对分块进行排名,并确定排名最高的分块。
  6. 使用 Grounded Generation API,根据排名最高的代码段生成依据实例的回答

如果您使用 Google 模型以外的回答生成模型生成了回答,则可以使用检查对话基础的方法检查这些回答的对话基础