用于构建搜索和 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 可让您完全灵活地设计检索器 同时加快上市速度和 降低风险。

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

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

  • Vertex AI 上的 LlamaIndex:Vertex AI 上的 LlamaIndex 可让熟悉这种热门开源软件 (OSS) 的开发者 框架来构建要用于生产环境和 企业级环境

    如需了解详情,请参阅 Vertex AI for RAG 上的 LlamaIndex “Vertex AI 上的生成式 AI”一文,了解 Vertex AI 上的 文档。

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

    如需了解详情,请参阅依据 Google 搜索

生成

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

  • Grounded Generation API(包含许可名单的 GA):使用 Grounded Generation API 为用户的询问生成有依据的回答。此 API 使用 经过微调的 Gemini 模型, 减少幻觉,并根据你的信息来源给出回答 第三方来源或 Google 搜索的内容,包括对 依据支持内容。

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

  • Gemini:Gemini 是 Google 最强大的模型, 通过 Google 搜索提供开箱即用的基础功能。您可以使用它构建完全自定义的基于地面生成解决方案。

    如需了解详情,请参阅将 Google 搜索作为依据 请参阅 Vertex AI 上的生成式 AI 文档。

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

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

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

Vertex AI 提供各种 API,用于处理和注释、嵌入、编入索引和检索、排名、以事实为依据的生成和验证。

  • Document AI 布局解析器。 Document AI 布局解析器可转换各种 将文本格式转换为结构化的表示形式,从而制作段落、 表格、列表以及标题、网页标头等结构元素 便于访问和创建可感知内容的片段, 进行信息检索。

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

  • Embeddings API:借助 Vertex AI 嵌入 API,您可以创建 用于文本或多模态输入的嵌入。嵌入是浮点数向量,旨在捕获其输入的含义。您可以使用嵌入为使用矢量的语义搜索提供支持 搜索。

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

  • Vector Search。检索引擎是 RAG 或搜索应用的关键部分。Vertex AI Vector Search 是一种 该检索引擎可从数十亿个语义相似或 大量语义相关项,每秒查询次数 (QPS) 较高, 低延迟和成本效益。它可以在密集区域内 并支持在 Vertex AI Pipelines SDK 中使用稀疏嵌入关键字搜索和混合搜索, 公开预览版。

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

  • Ranking API。 排名 API 接受文档列表并对这些文档进行重新排序 确定文档与给定查询的相关程度。对比范围 这种嵌入:仅关注文档和 排名 API 可以针对 回答给定查询。

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

  • 依据生成 API。使用接地方式 生成 API 来生成 以合理的方式回答用户的问题。依据来源可以是您的 Vertex AI Search 数据存储区、您提供的自定义数据或 Google 搜索。

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

  • Check Grounding API。 Check grounding API 可确定一段给定文本在 一组给定的参考文本。该 API 可以从参考文本中生成支持引用,以指明参考文本在哪些地方支持给定文本。此外,该 API 还可用于评估 RAG 系统响应的依据性。此外,作为一项实验性功能,该 API 还会生成矛盾的引文,以显示给定文本与参考文本不一致的地方。

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

工作流:根据非结构化数据生成以事实为依据的回答

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

  1. 导入非结构化文档,例如 PDF 文件、HTML 文件或图片 复制到 Cloud Storage 位置。
  2. 使用布局解析器处理导入的文档。布局解析器会将非结构化文档拆分为多个部分,并将非结构化内容转换为其结构化表示形式。通过 布局解析器也会从这些分块中提取注解。
  3. 使用以下代码为数据块创建文本嵌入: Vertex AI Text embeddings API。
  4. 使用以下方法将分块嵌入编入索引和检索分块嵌入: 矢量搜索。
  5. 使用 Rank API 对区块进行排名,并确定最高排名 数据块。
  6. 使用 Grounded Generation API,根据排名最高的代码段生成依据实例的回答

如果答案生成模型不是 Google 模型,您可以检查这些答案的依据 使用“检查依据”方法