Vertex AI 提供了一套 API,可帮助您构建自己的检索增强生成 (RAG) 应用或构建自己的搜索引擎。本页介绍了这些 API。
检索和生成
RAG 是一种方法,可让大语言模型 (LLM) 生成以您选择的数据源为依据的回答。RAG 分为两个阶段:
- 检索:快速获取最相关的事实可能是常见的搜索问题。借助 RAG,您可以快速检索生成回答所需的重要事实。
- 生成: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 缩短产品上市时间并确保高质量。
如需了解详情,请参阅构建您自己的检索增强生成模型。
引入现有检索功能:您可以将现有搜索用作基于事实的生成的检索器。您还可以使用适用于 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 缩短上市时间并确保高质量。
Document AI 布局解析器。 Document AI Layout Parser 可将各种格式的文档转换为结构化表示法,使段落、表格、列表等内容以及标题、页眉和页脚等结构元素可供访问,并创建情境感知的区块,以便在各种生成式 AI 和发现应用中更轻松地检索信息。
如需了解详情,请参阅 Document AI 文档中的 Document AI 布局解析器。
嵌入 API:借助 Vertex AI 嵌入 API,您可以为文本或多模态输入创建嵌入。嵌入是浮点数向量,旨在捕获其输入的含义。您可以使用这些嵌入来支持使用 Vector Search 进行的语义搜索。
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,以便根据非结构化数据生成有依据的回答。
- 将非结构化文档(例如 PDF 文件、HTML 文件或带文本的图片)导入 Cloud Storage 位置。
- 使用布局解析器处理导入的文档。布局解析器会将非结构化文档拆分为多个部分,并将非结构化内容转换为结构化表示法。布局解析器还会从这些分块中提取注释。
- 使用 Vertex AI 文本嵌入 API 为分块创建文本嵌入。
- 使用 Vector Search 编入索引和检索分块嵌入。
- 使用 Ranking API 对分块进行排名,并确定排名最高的分块。
- 使用 Grounded Generation API,根据排名最高的代码段生成依据实例的回答。
如果您使用 Google 模型以外的回答生成模型生成了回答,则可以使用检查对话基础的方法检查这些回答的对话基础。