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 来缩短产品上市时间并提高质量。
如需了解详情,请参阅构建自己的检索增强生成模型。
使用现有检索器:您可以将现有搜索用作基于事实的生成的检索器。 您还可以使用 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 实现语义搜索。
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 以从非结构化数据生成接地回答。
- 将非结构化文档(例如 PDF 文件、HTML 文件或包含文本的图片)导入到 Cloud Storage 位置。
- 使用布局解析器处理导入的文档。 布局解析器会将非结构化文档分解为多个块,并将非结构化内容转换为结构化表示形式。布局解析器还会从块中提取注释。
- 使用 Vertex AI 文本嵌入 API 为块创建文本嵌入。
- 使用 Vector Search 对块嵌入进行索引和检索。
- 使用排名 API 对块进行排名,并确定排名最高的块。
- 使用 Grounded Generation API 或 Generate Content API,根据排名靠前的块生成有依据的回答。
如果您使用 Google 模型以外的回答生成模型生成了回答,可以使用检查接地方法检查这些回答的接地情况。