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

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

检索和生成

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

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

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

检索

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

  • 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 来缩短产品上市时间并提高质量。

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

  • 使用现有检索器:您可以将现有搜索用作有事实依据的生成的检索器。 您还可以使用 Vertex API for RAG 将现有搜索功能升级为更高质量的搜索功能。如需了解详情,请参阅接地概览

  • Vertex AI RAG Engine:Vertex AI RAG Engine 为 RAG 编排提供全托管式运行时,让开发者能够构建 RAG,以便在生产环境和企业级环境中使用。

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

  • Google 搜索:如果您为 Gemini 模型使用“与 Google 搜索连接”功能,Gemini 就会使用 Google 搜索,并生成与相关搜索结果连接的输出。此检索方法无需管理,您可让 Gemini 访问全球知识。

    如需了解详情,请参阅 Vertex AI 上的生成式 AI 文档中的使用 Google 搜索进行连接

生成

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

  • 依托您的数据进行接地:针对用户查询生成有依据的回答。有依据的生成 API 使用经过专门微调的 Gemini 模型,可有效减少幻觉,并提供以您的来源或第三方来源为依据的回答,包括对依据支持内容的引用。

    如需了解详情,请参阅使用 RAG 生成接地回答

    您还可以使用 Vertex AI 上的生成式 AI,依托 Vertex AI Search 数据为回答接地。如需了解详情,请参阅根据数据进行基础处理

  • 与 Google 搜索连接:Gemini 是 Google 最强大的模型,可开箱即用地与 Google 搜索连接。您可以使用它来构建完全自定义的基于事实的生成解决方案。

    如需了解详情,请参阅 Vertex AI 上的生成式 AI 文档中的使用 Google 搜索进行连接

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

自行构建检索增强生成

开发用于知识库检索的自定义 RAG 系统可在流程的每个步骤中提供灵活性和控制权。Vertex AI 提供了一套 API,可帮助您创建自己的搜索解决方案。使用这些 API 可让您在设计 RAG 应用时拥有充分的灵活性,同时通过依赖这些较低级别的 Vertex AI API,缩短产品上市时间并提高质量。

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

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

  • Embeddings API:借助 Vertex AI embeddings API,您可以为文本或多模态输入创建嵌入。嵌入是浮点数向量,旨在捕获输入的含义。您可以使用嵌入通过 Vector Search 实现语义搜索。

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

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

    如需了解详情,请参阅 Vertex AI 文档中的 Vertex AI Vector Search 概览

  • 排名 API。 排名 API 会接收文档列表,并根据文档与给定查询的相关性对这些文档进行重新排名。与仅关注文档和查询的语义相似性的嵌入相比,Ranking API 可以更精确地评估文档回答给定查询的程度。

    如需了解详情,请参阅使用排名 API 提高搜索和 RAG 质量

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

    如需了解详情,请参阅生成接地回答

  • 生成内容 API。使用生成内容 API 生成与用户提示相关性高的回答。接地来源可以是您的 Vertex AI Search 数据存储区或 Google 搜索。

    如需了解详情,请参阅与 Google 搜索连接与您的数据连接

  • 检查 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. 使用排名 API 对块进行排名,并确定排名最高的块。
  6. 使用 Grounded Generation APIGenerate Content API,根据排名靠前的块生成有依据的回答。

如果您使用 Google 模型以外的回答生成模型生成了回答,可以使用检查接地方法检查这些回答的接地情况