用于构建搜索和 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 向量搜索概览

  • 排名 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 模型以外的回答生成模型生成了回答,可以使用检查接地方法检查这些回答的接地情况