Vertex AI 提供了一套 API,可帮助您构建检索增强生成 (RAG) 应用或搜索引擎。本页介绍了这些 API。
检索和生成
RAG 是一种方法,可让大语言模型 (LLM) 生成以您选择的数据源为依据的回答。RAG 分为两个阶段:
- 检索:快速获取最相关的事实可能是一个常见的 搜索问题。借助 RAG,您可以快速检索生成回答所需的重要事实。
- 生成: LLM 使用检索到的事实生成有依据的回答。
Vertex AI 为这两个阶段都提供了选项,以满足各种开发者的需求。
检索
选择最符合您需求的检索方法:
Agent Search: Agent Search 是一个 Google 搜索级品质的信息检索引擎,可作为任何使用企业数据的生成式 AI 应用的组件。 Agent Search 可作为 RAG 的开箱即用型语义和关键字搜索引擎,能够处理各种文档类型,并提供与各种源系统(包括 BigQuery 和许多第三方系统)的连接器。
如需了解详情,请参阅 Agent Search。
构建自己的检索: 如果您想构建自己的语义搜索,可以依赖 Vertex AI API 来构建自定义 RAG 系统的组件。这套 API 为文档解析、嵌入生成、向量搜索和语义排名提供了高质量的实现。使用这些较低级别的 API 可让您在检索器的设计方面拥有充分的灵活性,同时通过依赖较低级别的 Vertex AI API 来缩短上市期并提供高质量的检索器。
如需了解详情,请参阅 构建自己的检索增强生成。
引入现有检索:您可以将现有搜索用作 有依据生成的检索器。 您还可以使用 RAG 将回答接地,以将现有搜索升级到更高质量。如需了解详情,请参阅 接地概览。
Vertex AI RAG 引擎:Vertex AI RAG 引擎 为 RAG 编排提供完全托管的运行时,让 开发者可以构建 RAG 以用于生产和企业就绪型环境。
如需了解详情,请参阅 Vertex AI 上的生成式 AI 文档中的 Vertex AI RAG 引擎 概览。
Google 搜索:当您为 Gemini 模型使用“依托 Google 搜索进行接地”时,Gemini 会使用 Google 搜索并生成以 相关搜索结果为依据的输出。此检索方法不需要管理,您可以让 Gemini 访问全球知识。
如需了解详情,请参阅 Vertex AI 上的生成式 AI 文档中的依托 Google 搜索进行接地 。
生成
选择最符合您需求的生成方法:
依托数据进行接地: 生成以用户查询为依据的回答。有依据生成 API 使用经过专门微调的 Gemini 模型,是减少幻觉并提供以您的来源或第三方来源为依据的回答的有效方法,包括引用接地支持内容。
如需了解详情,请参阅 使用 RAG 生成有依据的回答。
您还可以使用 Vertex AI 上的生成式 AI,让回答以 Agent Search 数据为依据。如需了解详情,请参阅 依托数据进行接地。
依托 Google 搜索进行接地: Gemini 是 Google 最强大的模型,可提供开箱即用的“依托 Google 搜索进行接地”功能。您可以使用它来构建完全自定义的有依据生成解决方案。
如需了解详情,请参阅Vertex AI 上的生成式 AI 文档中的 依托 Google 搜索进行接地。
Model Garden: 如果您想要完全控制权并选择自己喜欢的模型, 可以使用 Vertex AI Model Garden 中的任何模型进行生成。
构建自己的检索增强生成
开发用于接地的自定义 RAG 系统可在流程的每个步骤中提供灵活性和控制权。Vertex AI 提供了一套 API,可帮助您创建自己的搜索解决方案。使用这些 API 可让您在 RAG 应用的设计方面拥有充分的灵活性,同时通过依赖这些较低级别的 Vertex AI API 来缩短上市期并提供高质量的 RAG 应用。
Document AI 布局解析器。 Document AI 布局解析器可将各种格式的文档转换为结构化表示形式,使段落、表格、列表等内容以及标题、页眉和页脚等结构元素可供访问,并创建内容感知数据块,以便各种生成式 AI 和发现应用从中检索信息。
如需了解详情,请参阅 Document AI Layout Parser 在 Document AI 文档中。
Embeddings API: 借助 Vertex AI Embeddings API,您可以为文本或多模态输入创建嵌入。嵌入是浮点数的向量,旨在捕获输入的含义。您可以使用嵌入通过向量搜索来支持语义搜索。
向量搜索。检索引擎是 RAG 或搜索应用的关键部分。Vertex AI Vector Search 是一种检索引擎,可以大规模搜索数十亿个语义相似或语义相关的项,每秒查询次数 (QPS) 高、召回率高、延迟时间短且成本效益高。它可以搜索密集嵌入,并且在公开预览版中支持稀疏嵌入关键字搜索和混合搜索。
如需了解详情,请参阅 Vertex AI Vector Search 文档中的 Vertex AI 概览。
Ranking API。 Ranking API 会接收一个文档列表作为输入,然后根据这些文档与给定查询的相关程度对它们进行重新排名。与仅查看文档和查询的语义相似性的嵌入相比,Ranking API 可以更准确地评估文档回答给定查询的效果。
如需了解详情,请参阅 使用 Ranking API 提高搜索和 RAG 质量。
有依据生成 API。使用有依据生成 API 生成以用户提示为依据的回答。接地来源可以是您的 Agent Search 数据存储区、您提供的自定义数据或 Google 搜索。
如需了解详情,请参阅生成有依据的回答。
生成内容 API。使用生成内容 API 生成以用户提示为依据的回答。接地来源可以是您的 Agent Search 数据存储区或 Google 搜索。
如需了解详情,请参阅 依托 Google 搜索进行接地或 依托数据进行接地。
检查接地 API。 检查接地 API 可确定给定文本在给定的一组参考文本中的接地程度。该 API 可以从参考文本生成支持性引用,以指明给定文本受参考文本的支持。除其他事项外,该 API 还可用于评估 RAG 系统回答的接地程度。此外,作为一项实验性功能,该 API 还会生成矛盾的引用,以显示给定文本和参考文本存在分歧的地方。
如需了解详情,请参阅检查接地。
工作流:根据非结构化数据生成有依据的回答
以下工作流概述了如何集成 Vertex AI RAG API 以根据非结构化数据生成有依据的回答。
- 将非结构化文档(例如 PDF 文件、HTML 文件或包含文本的图片)导入 Cloud Storage 位置。
- 使用布局解析器处理导入的文档。 布局解析器会将非结构化文档分解为数据块,并将非结构化内容转换为结构化表示形式。布局解析器还会从数据块中提取注释。
- 创建文本嵌入以使用 Vertex AI 文本嵌入 API 处理数据块。
- 使用向量搜索为数据块嵌入编制索引并检索 。
- 使用 Ranking API 对数据块进行排名,并确定排名最高的 数据块。
- 使用 有依据生成 API 或 使用 生成内容 API,根据排名最高的数据块生成有依据的回答。
如果您使用 Google 模型以外的回答生成模型生成了回答,可以使用检查接地方法检查这些回答的接地情况 。