你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
在本快速入门中,你将使用 Azure 门户中的 导入和矢量化数据 向导开始 进行多模式搜索。 向导简化了将文本和图像提取、分块、向量化后加载到可搜索索引中的过程。
与 快速入门:Azure 门户中的矢量搜索(处理简单的包含文本的图像)不同,本快速入门支持针对多模式 RAG 方案的高级图像处理。
本快速入门使用 azure-search-sample-data 存储库中的多模态 PDF。 但是,你可以使用不同的文件,这样仍然可以完成本快速入门。
先决条件
拥有有效订阅的 Azure 帐户。 免费创建帐户。
Azure AI 搜索服务。 建议使用基本层或更高层级。
一个 Azure 存储帐户。 在标准性能(常规用途 v2)帐户上使用 Azure Blob 存储或 Azure Data Lake Storage Gen2(具有分层命名空间的存储帐户)。 访问层可以是热层、温层或冷层。
熟悉向导。 请参阅 Azure 门户中的“导入数据向导”。
支持的提取方法
对于内容提取,可以选择通过 Azure AI 搜索进行默认提取,也可以通过 Azure AI 文档智能进行增强提取。 下表描述了这两种提取方法。
方法 | 说明 |
---|---|
默认提取 | 仅从 PDF 图像中提取位置元数据。 不需要另一个 Azure AI 资源。 |
增强提取 | 从多个文档类型的文本和图像中提取位置元数据。 在支持的区域中需要一个 Azure AI 服务多服务资源1。 |
1 出于计费目的,必须将 Azure AI 多服务资源附加到 Azure AI 搜索服务中的技能组。 除非使用 无键连接 来创建技能集,否则这两个资源必须位于同一区域。
支持的嵌入方法
对于内容嵌入,可以选择图像语言化(后跟文本矢量化)或多模式嵌入。 后面的部分中提供了模型的部署说明。 下表描述了这两种嵌入方法。
方法 | 说明 | 支持的模型 |
---|---|---|
图像语言化 | 使用 LLM 生成图像的自然语言描述,然后使用嵌入模型向量化纯文本和口头化图像。 需要 Azure OpenAI 资源1、2 或 Azure AI Foundry 项目。 对于文本矢量化,还可以在受支持的区域中使用 Azure AI 服务多服务资源3。 |
LLM: GPT-4o GPT-4o-mini phi-4 4 嵌入模型: text-embedding-ada-002 text-embedding-3-small text-embedding-3-large |
多模态嵌入 | 使用嵌入模型直接向量化文本和图像。 需要一个Azure AI Foundry 项目或Azure AI 服务的多服务资源3,位于支持的区域。 |
Cohere-embed-v3-english Cohere-embed-v3-多语言 |
1 Azure OpenAI 资源的终结点必须具有 自定义子域,例如 https://my-unique-name.openai.azure.com
。 如果在 Azure 门户中创建了资源,则此子域是在资源设置过程中自动生成的。
2不支持 Azure AI Foundry 门户中创建的 Azure OpenAI 资源(具有嵌入模型访问权限)。 必须在 Azure 门户中创建 Azure OpenAI 资源。
3 出于计费目的,必须将 Azure AI 多服务资源附加到 Azure AI 搜索服务中的技能集。 除非使用 无键连接(预览版) 创建技能集,否则这两个资源必须位于同一区域。
4phi-4
仅适用于 Azure AI Foundry 项目。
公共端点要求
上述所有资源必须启用公共访问权限,以便 Azure 门户节点可以访问它们。 否则,向导将失败。 运行向导后,你可以为集成组件启用防火墙和专用终结点以确保安全。 有关详细信息,请参阅导入向导中的安全连接。
如果专用终结点已存在且无法禁用它们,则替代方法是从虚拟机上的脚本或程序运行相应的端到端流。 虚拟机必须与专用终结点位于同一虚拟网络上。 下面是用于集成矢量化的 Python 代码示例。 同一 GitHub 存储库中还包含其他编程语言的示例。
检查空间
如果开始使用免费服务,则只能使用三个索引、三个数据源、三个技能集和三个索引器。 在开始之前,请确保有空间存储额外的项目。 本快速入门将为每个对象创建一个。
配置访问权限
在开始之前,请确保你有权访问内容和操作。 我们建议使用 Microsoft Entra ID 进行身份验证,并通过基于角色的访问来进行授权。 你必须是 所有者 或 用户访问管理员 才能分配角色。 如果角色不可行,则可以改用 基于密钥的身份验证 。
必需的角色
所有多模式搜索方案都需要 Azure AI 搜索和 Azure 存储。
- Azure AI 搜索
- Azure 存储
Azure AI 搜索提供多模式数据流。 配置自己和搜索服务的访问权限,以读取数据、运行管道以及与其他 Azure 资源交互。
在 Azure AI 搜索服务上:
-
搜索服务参与者
搜索索引数据参与者
搜索索引数据读取者
条件角色
以下选项卡涵盖用于多模式搜索的所有向导兼容的资源。 仅选择应用于所选提取方法和嵌入方法的选项卡。
Azure OpenAI 为图像语言化提供 LLM,并为文本和图像矢量化提供嵌入模型。 搜索服务需要有权调用 GenAI 提示技能和Azure OpenAI 嵌入技能。
在 Azure OpenAI 资源上:
- 将“认知服务 OpenAI 用户”分配给搜索服务标识。
准备示例数据
本快速入门使用示例多模式 PDF,但你也可以使用自己的文件。 如果你使用免费搜索服务,请使用不到 20 个文件,以保持在扩充处理的免费配额范围内。
若要为此快速入门准备示例数据,请执行以下操作:
部署模型
该向导提供了多个用于内容嵌入的选项。 图像语言化需要 LLM 来描述图像和嵌入模型来向量化文本和图像内容,而直接多模式嵌入只需要嵌入模型。 可通过 Azure OpenAI 和 Azure AI Foundry 使用这些模型。
注释
如果使用 Azure AI 视觉,请跳过此步骤。 多模式嵌入内置于 Azure AI 多服务资源中,不需要模型部署。
为本快速入门部署模型:
选择 Azure OpenAI 资源或 Azure AI Foundry 项目。
在左窗格中,选择 “模型”目录。
部署所选 嵌入方法所需的模型。
启动向导
若要启动多模式搜索的向导,
登录到 Azure 门户 并选择 Azure AI 搜索服务。
在“概述”页上,选择“导入和矢量化数据”。
选择数据源: Azure Blob 存储 或 Azure Data Lake Storage Gen2。
选择“多模态 RAG”。
连接到数据库
Azure AI 搜索需要连接到数据源才能进行内容引入和索引编制。 在这种情况下,数据源是 Azure 存储帐户。
若要连接到你的数据,请执行以下操作:
提取内容
根据所选 的提取方法,向导提供用于文档破解和分块的配置选项。
将您的内容嵌入
在此步骤中,向导使用所选 的嵌入方法 生成文本和图像的矢量表示形式。
向导调用一个技能为图像(图像语言化)创建描述性文本,另一个技能为文本和图像创建矢量嵌入。
对于图像语言化,GenAI 提示技能 使用您部署的 LLM 对每个提取的图像进行分析,并生成自然语言的描述。
对于嵌入, Azure OpenAI 嵌入技能、 AML 技能或 Azure AI 视觉多模式嵌入技能 使用已部署的嵌入模型将文本区块和语言化描述转换为高维矢量。 这些向量可实现相似性和混合检索。
若要使用图像语言化技能,请执行以下步骤:
在 “内容嵌入 ”页上,选择“ 图像语言化”。
在“ 图像语言化 ”选项卡上:
在 “文本矢量化 ”选项卡上:
选择下一步。
存储提取的图像
下一步是从文档中提取的图像发送到 Azure 存储。 在 Azure AI 搜索中,此辅助存储称为 知识存储。
若要存储已提取的图像,请执行以下操作:
映射新字段
在 “高级设置” 页上,可以选择将字段添加到索引架构。 默认情况下,向导将生成下表中所述的字段。
字段 | 适用于 | 说明 | 特性 |
---|---|---|---|
content_id | 文本和图像矢量 | 字符串字段。 索引的文档键。 | 可检索、可排序和可搜索。 |
文档标题 | 文本和图像矢量 | 字符串字段。 人类可读的文档标题。 | 可检索且可搜索。 |
text_document_id | 文本向量 | 字符串字段。 标识文本区块源自的父文档。 | 可检索和筛选。 |
image_document_id | 图像矢量 | 字符串字段。 标识图像来源的父文档。 | 可检索和筛选。 |
content_text | 文本向量 | 字符串字段。 文本区块的人工可读版本。 | 可检索且可搜索。 |
content_embedding | 文本和图像矢量 | Collection(Edm.Single)。 文本和图像的矢量表示形式。 | 可检索且可搜索。 |
内容路径 | 文本和图像矢量 | 字符串字段。 存储容器中内容的路径。 | 可检索且可搜索。 |
locationMetadata | 图像矢量 | Edm.ComplexType。 包含有关文档中图像位置的元数据。 | 因领域而异。 |
不能修改生成的字段或其属性,但如果数据源提供字段,则可以添加字段。 例如,Azure Blob 存储提供元数据字段的集合。
向索引架构添加字段:
在 “索引”字段下,选择“ 预览”和“编辑”。
选择添加字段。
从可用字段中选择源字段,输入索引的字段名称,并接受默认数据类型(或替代)。
如果要将架构还原到其原始版本,请选择“ 重置”。
计划索引编制
对于基础数据不稳定的数据源,可以 计划索引 以在特定时间间隔或特定日期和时间捕获更改。
若要计划索引,请执行以下操作:
完成该向导
最后一步是查看配置并创建用于多模式搜索的必要对象。 如有必要,请返回到向导中的上一页以调整配置。
若要完成向导,请执行以下操作:
当向导完成配置时,它会创建以下对象:
一个驱动索引管道的索引器。
一个与 Azure Blob 存储的数据源连接。
包含文本字段、矢量字段、向量器、矢量配置文件和向量算法的索引。 在向导工作流中,无法修改默认索引。 索引符合 2024-05-01-preview REST API,因此你可以使用预览版功能。
具有以下技能的技能集:
文档提取技能或文档布局技能从源文档中提取文本和图像。 文本拆分技能与文档提取技能搭配用于数据分块,而文档布局技能具有内置的分块。
GenAI 提示技能用自然语言对图像进行口头处理。 如果使用的是直接多模式嵌入,则不存在此技能。
Azure OpenAI 嵌入技能、AML 技能或Azure AI 视觉多模式嵌入技能会被调用一次用于文本矢量化,一次用于图像矢量化。
整形程序技能使用元数据扩充输出,并使用上下文信息创建新图像。
小窍门
向导创建的对象具有可配置的 JSON 定义。 若要查看或修改这些定义,请从左窗格中选择 “搜索管理 ”,可在其中查看索引、索引器、数据源和技能集。
检查结果
本快速入门创建一个多模式索引,该索引支持对文本和图像进行 混合搜索 。 除非使用直接多模式嵌入,否则索引不接受图像作为查询输入,这需要 AML 技能 或具有等效矢量化器的 Azure AI 视觉多模式嵌入技能 。 有关详细信息,请参阅 在搜索索引中配置向量器。
混合搜索结合了全文查询和矢量查询。 发出混合查询时,搜索引擎将计算查询与索引向量之间的语义相似性,并相应地对结果进行排名。 在本快速入门中创建的索引中,结果将展示来自字段 content_text
的、与您的查询紧密匹配的内容。
要查询您的多模态索引,请:
登录到 Azure 门户 并选择 Azure AI 搜索服务。
在左窗格中,选择 “搜索管理>索引”。
选择你的索引。
选择 “查询”选项,然后选择“ 隐藏搜索结果中的矢量值”。 此步骤使结果更具可读性。
输入要搜索的文本。 我们的示例使用了
energy
。若要运行查询,请选择“ 搜索”。
JSON 结果应包含与索引中相关的
energy
文本和图像内容。 如果启用了语义排名器,则@search.answers
数组提供简洁、高置信 度语义答案 ,可帮助你快速识别相关的匹配项。"@search.answers": [ { "key": "a71518188062_aHR0cHM6Ly9oYWlsZXlzdG9yYWdlLmJsb2IuY29yZS53aW5kb3dzLm5ldC9tdWx0aW1vZGFsLXNlYXJjaC9BY2NlbGVyYXRpbmctU3VzdGFpbmFiaWxpdHktd2l0aC1BSS0yMDI1LnBkZg2_normalized_images_7", "text": "A vertical infographic consisting of three sections describing the roles of AI in sustainability: 1. **Measure, predict, and optimize complex systems**: AI facilitates analysis, modeling, and optimization in areas like energy distribution, resource allocation, and environmental monitoring. **Accelerate the development of sustainability solution...", "highlights": "A vertical infographic consisting of three sections describing the roles of AI in sustainability: 1. **Measure, predict, and optimize complex systems**: AI facilitates analysis, modeling, and optimization in areas like<em> energy distribution, </em>resource<em> allocation, </em>and environmental monitoring. **Accelerate the development of sustainability solution...", "score": 0.9950000047683716 }, { "key": "1cb0754930b6_aHR0cHM6Ly9oYWlsZXlzdG9yYWdlLmJsb2IuY29yZS53aW5kb3dzLm5ldC9tdWx0aW1vZGFsLXNlYXJjaC9BY2NlbGVyYXRpbmctU3VzdGFpbmFiaWxpdHktd2l0aC1BSS0yMDI1LnBkZg2_text_sections_5", "text": "...cross-laminated timber.8 Through an agreement with Brookfield, we aim 10.5 gigawatts (GW) of renewable energy to the grid.910.5 GWof new renewable energy capacity to be developed across the United States and Europe.Play 4 Advance AI policy principles and governance for sustainabilityWe advocated for policies that accelerate grid decarbonization", "highlights": "...cross-laminated timber.8 Through an agreement with Brookfield, we aim <em> 10.5 gigawatts (GW) of renewable energy </em>to the<em> grid.910.5 </em>GWof new<em> renewable energy </em>capacity to be developed across the United States and Europe.Play 4 Advance AI policy principles and governance for sustainabilityWe advocated for policies that accelerate grid decarbonization", "score": 0.9890000224113464 }, { "key": "1cb0754930b6_aHR0cHM6Ly9oYWlsZXlzdG9yYWdlLmJsb2IuY29yZS53aW5kb3dzLm5ldC9tdWx0aW1vZGFsLXNlYXJjaC9BY2NlbGVyYXRpbmctU3VzdGFpbmFiaWxpdHktd2l0aC1BSS0yMDI1LnBkZg2_text_sections_50", "text": "ForewordAct... Similarly, we have restored degraded stream ecosystems near our datacenters from Racine, Wisconsin120 to Jakarta, Indonesia.117INNOVATION SPOTLIGHTAI-powered Community Solar MicrogridsDeveloping energy transition programsWe are co-innovating with communities to develop energy transition programs that align their goals with broader s.", "highlights": "ForewordAct... Similarly, we have restored degraded stream ecosystems near our datacenters from Racine, Wisconsin120 to Jakarta, Indonesia.117INNOVATION SPOTLIGHTAI-powered Community<em> Solar MicrogridsDeveloping energy transition programsWe </em>are co-innovating with communities to develop<em> energy transition programs </em>that align their goals with broader s.", "score": 0.9869999885559082 } ]
清理资源
本快速入门使用可计费的 Azure 资源。 如果不再需要该资源,请将其从订阅中删除,以避免产生费用。
后续步骤
本快速入门介绍了 导入和矢量化数据 向导,该向导为多模式搜索创建所有必要的对象。 若要详细浏览每个步骤,请参阅以下教程: