多模式搜索是指跨多个内容类型(包括文本、图像、视频和音频)引入、理解和检索信息的功能。 在 Azure AI 搜索中,多模式搜索原生支持引入包含文本和图像的文档以及检索其内容,使你能够执行合并这两种形式的搜索。
构建可靠的多模式管道通常涉及:
从文档中提取内联图像和页面文本。
用自然语言描述图像。
将文本和图像嵌入共享矢量空间。
存储图像以供以后用作批注。
多模式搜索还需要保留信息的顺序,因为它出现在文档中,并执行 混合查询 ,将 全文搜索 与 矢量搜索 和 语义排名相结合。
实际上,使用多模式搜索的应用程序可以回答“批准 HR 表单的过程是什么?”等问题,即使进程的唯一权威说明位于 PDF 文件中的嵌入关系图中时也是如此。
为何使用多模式搜索?
传统上,多模式搜索需要单独的文本和图像处理系统,这通常需要开发人员的自定义代码和低级别配置。 维护这些系统会产生更高的成本、复杂性和工作量。
Azure AI 搜索通过将图像集成到与文本相同的检索管道中来解决这些难题。 使用单个多模式管道,您可以简化设置,并从图表、屏幕截图、信息图、扫描表单和其他复杂的视觉对象中解锁信息。
多模式搜索非常适合 检索扩充生成(RAG) 情境。 通过解释图像的结构逻辑,多模式搜索会使 RAG 应用程序或 AI 代理不太可能忽略重要的视觉细节。 它还为用户提供了详细的答案,这些答案可以追溯到其原始源,而不管源的形式如何。
多模式搜索在 Azure AI 搜索中的工作原理
为了简化多模式管道的创建,Azure AI 搜索在 Azure 门户中提供 导入和矢量化数据 向导。 该向导可帮助你配置数据源、定义提取和扩充设置,并生成包含文本、嵌入图像引用和矢量嵌入的多模式索引。
该向导按照以下步骤创建多模态管道:
提取内容:文档提取技能或文档布局技能获取页面文本、内联图像和结构元数据。 文档提取技能不会提取多边形或页码,并且支持的文件类型有所不同。 有关详细信息,请参阅 多模式内容提取选项。
这些内置功能不支持提取表格或保留表格结构。 若要使用这些功能,必须构建调用 Azure AI 内容理解的自定义 Web API 技能。
区块文本:文本拆分技能将提取的文本分解为可在剩余管道中使用的可管理区块,例如嵌入技能。
生成嵌入: 嵌入技能可创建文本和图像的矢量表示形式,从而实现相似性和混合检索。 可以直接调用Azure OpenAI或Azure AI Vision的嵌入模型。
或者,可以跳过图像语言化,并通过 AML 技能或 Azure AI 视觉多模式嵌入技能将提取的文本和图像直接传递到多模式嵌入模型。 有关详细信息,请参阅 多模式内容嵌入的选项。
存储提取的图像:知识存储包含可直接返回到客户端应用程序的提取映像。 使用向导时,图像的位置直接存储在多模式索引中,以便在查询时方便检索。
小窍门
若要查看多模式搜索的实际应用,请将向导创建的索引插入多模式 RAG 示例应用程序中。 此示例演示 RAG 应用程序如何使用多模式索引并在响应中呈现文本引文和关联的图像片段。 此示例还展示了基于代码的数据引入和索引过程。
多模式内容提取的选项
多模式管道首先将每个源文档分解为文本块、内联图像和关联的元数据。 对于此步骤,Azure AI 搜索提供两种内置技能:文档提取技能和文档布局技能。 这两种技能都支持文本和图像提取,但它们在布局详细信息、返回的元数据和计费方面有所不同。
特征 | 文档提取技能 | 文档布局技能 |
---|---|---|
文本位置元数据提取(页面和边界多边形) | 否 | 是的 |
图像位置元数据提取(页面和边界多边形) | 是的 | 是的 |
基于文件类型的位置元数据提取 | 仅 PDF 文件。 | 多个支持的文件类型(根据 Azure AI 文档智能布局模型)。 |
数据提取计费 | 图像提取根据 Azure AI 搜索定价计费。 | 根据 文档布局定价计费。 |
建议方案 | 不需要确切位置或详细布局信息的快速原型制作或生产管道。 | 在客户端应用中需要精确页码、页面上突出显示或图表覆盖的 RAG 管道和代理工作流。 |
还可以使用 自定义技能 直接调用 Azure AI 内容理解,Azure AI 搜索本身不支持多模式内容提取。
多模式内容嵌入的选项
在 Azure AI 搜索中,从图像检索知识可以遵循两个互补路径:图像语言化或直接嵌入。 了解区别有助于将成本、延迟和答案质量与应用程序的需求保持一致。
后跟文本嵌入的图像语言化
由于图像现在以语言表示,因此 Azure AI 搜索可以:
解释关系图中显示的关系和实体。
提供 LLM 可以在响应中逐字引用的现成标题。
返回 RAG 应用程序或 AI 代理场景的相关片段及基础数据。
添加的语义深度需要对每个图像进行 LLM 调用,索引时间略有增加。
直接多模式嵌入
第二个选项是将文档提取的图像和文本传递给多模式嵌入模型,该模型在同一向量空间中生成矢量表示形式。 配置非常简单,索引时不需要 LLM。 直接嵌入非常适合视觉相似性和“找到类似这个的东西”的场景。
由于表示形式纯粹是数学性的,因此它不会传达为什么两个图像相关,并且它不提供 LLM 准备的引文上下文或详细说明。
组合这两种方法
许多解决方案都需要这两种编码路径。 图表、流程图和其他解释丰富的视觉对象被语言化,使语义信息可用于 RAG 和 AI 代理基础。 直接嵌入屏幕截图、产品照片或插图,以便进行高效的相似性搜索。 可以自定义 Azure AI 搜索索引和索引器技能组管道,以便它可以存储两组矢量并排检索它们。
用于查询多模式内容的选项
如果多模式管道由 GenAI 提示技能提供支持,则可以在搜索索引中对纯文本和口头图像运行 混合查询 。 还可以使用筛选器将搜索结果缩小到特定内容类型,例如仅文本或仅图像。
尽管 GenAI 提示技能通过混合搜索支持文本到矢量查询,但它不支持 图像到矢量查询。 只有多模态嵌入模型提供在查询时将图像转换为矢量的向量化器。
若要将图像用作多模式索引的查询输入,必须使用具有等效矢量化器的 Azure AI 视觉多模式嵌入技能 。 有关详细信息,请参阅 在搜索索引中配置向量器。
教程和示例
为了帮助你开始使用 Azure AI 搜索中的多模式搜索,下面是一系列内容,演示如何使用 Azure 功能创建和优化多模式索引。
内容 | DESCRIPTION |
---|---|
教程:图像语言化和文档提取技能 | 提取文本和图像、口头化图表,并将生成的说明和文本嵌入可搜索索引中。 |
教程:多模式嵌入和文档提取技能 | 使用视觉文本模型直接嵌入文本和图像,从而通过扫描的 PDF 实现视觉相似性搜索。 |
示例应用:多模式 RAG GitHub 存储库 | 具有多模式功能的端到端代码就绪 RAG 应用程序,可显示文本代码片段和图像注释。 非常适合快速启动企业 copilot。 |