你将了解 Azure AI 搜索中的技能组如何通过添加光学字符识别 (OCR)、图像分析、语言检测、文本翻译和实体识别,在搜索索引中创建可搜索文本的内容。
关注TechLead,分享AI全维度知识。作者拥有10+年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕,复旦机器人智能实验室成员,阿里云认证的资深架构师,项目管理专业人士,上亿营收AI产品研发负责人。
环境准备
开始之前,必须具备以下先决条件:
设置数据
在以下步骤中,在 Azure 存储中设置 blob 容器以存储异类内容文件。
-
下载示例数据,其中包括不同类型的小型文件集。 解压缩文件。
-
使用 Azure 帐户登录到 Azure 门户。
-
[创建 Azure 存储帐户]或[查找现有帐户]。
-
选择 Azure AI 搜索所在的同一区域,以避免带宽费用。
-
选择StorageV2(常规用途 V2)。
-
-
在 Azure 门户中,打开 Azure 存储页并创建容器。 可以使用默认的公共访问级别。
-
在容器中,选择"上传"以上传在第一个步骤中下载的示例文件。 请注意,内容类型非常广泛,包括无法以本机格式进行全文搜索的图像和应用程序文件。
现在,你已准备好继续运行"导入数据"向导。
运行"导入数据"向导
步骤 1:创建数据源
-
在"连接到数据"中,选择"Azure Blob 存储" 。
-
选择与存储帐户的现有连接,然后选择你创建的容器。 为数据源命名,并对余下的设置使用默认值。
继续转到下一页。
如果收到"从数据源检测索引架构时出错",则说明支持向导的索引器无法连接到数据源。 数据源很可能具有安全保护。 尝试以下解决方案,然后重新运行向导。
步骤 2:添加认知技能
接下来,配置 AI 扩充来调用 OCR、图像分析和自然语言处理。
- 对于本快速入门,我们将使用免费的 Azure AI 服务资源。 示例数据包括 14 个文件,因此,Azure AI 服务免费提供的 20 个事务配额足以完成本快速入门。
- 展开"添加扩充",并做出六项选择。
启用 OCR,将图像分析技能添加到向导页。
选择实体识别(人员、组织和位置)和图像分析技能(标记、字幕)。
继续转到下一页。
步骤 3:配置索引
索引包含可搜索的内容,"导入数据"向导通常可以通过对数据源采样来创建架构。 在此步骤中查看生成的架构,并根据情况修改任何设置。 以下是为演示 Blob 数据集创建的默认架构。
在本快速入门中,向导能够很好地设置合理的默认值:
-
默认字段基于现有 blob 的元数据属性,以及扩充输出的新字段(例如
people
、organizations
、locations
)。 数据类型从元数据和数据采样推断。 -
默认文档键是 metadata_storage_path(由于字段包含唯一值,因此选择了此键)。
-
默认属性为可检索 和可搜索 。 可搜索 允许对字段进行全文搜索。 可检索 意味着可以在结果中返回字段值。 向导假设你希望这些字段可检索且可搜索,因为它们是通过技能集创建的。 如果要在筛选表达式中使用字段,请选择"可筛选"。
将某个字段标记为 Retrievable 并不意味着该字段一定会出现在搜索结果中。 通过使用 $select 查询参数指定要包含的字段,可以控制搜索结果的构成。
继续转到下一页。
步骤 4:配置索引器
索引器驱动索引过程。 它指定数据源名称、目标索引和执行频率。 "导入数据"向导将创建多个对象,包括一个可以重置和重复运行的索引器。
- 在"索引器"页中,可以接受默认名称并选择"一次"来立即运行该索引器。
- 选择"提交"以创建并同时运行索引器。
监视状态
与典型的基于文本的索引相比,认知技能索引编制需要花费更长的时间才能完成,OCR 和图像分析尤其如此。 若要监视进度,请转到"概述"页,然后选择页面中间的"索引器"。
若要查看有关执行状态的详细信息,请从列表中选择一个索引器,然后选择"成功"(或"失败")以查看执行详细信息。
在此演示中,有一条警告:"Could not execute skill because one or more skill input was invalid."
。该警告表示数据源中的 PNG 文件不向实体识别提供文本输入。 出现此警告是因为上游 OCR 技能无法识别图像中的任何文本,因此无法为下游实体识别技能提供文本输入。
警告在技能组执行中很常见。 随着你熟悉技能循环访问数据的方式,你可能开始发现规律并了解哪些警告是可以安全忽略的。
搜索浏览器中的查询
创建索引后,请在"搜索浏览器"中运行查询以返回结果。
-
在搜索服务仪表板页上,选择命令栏上的"搜索浏览器"。
-
选择顶部的"更改索引",选择创建的索引。
-
输入要在其中查询索引的搜索字符串,例如
search=Satya Nadella&$select=people,organizations,locations&$count=true
。
随后会返回详细的 JSON 格式的结果,这些结果可能难以阅读,尤其是在大型文档中。 在此工具中搜索时,可以借鉴一些提示,其中包括以下技术:
- 追加
$select
以限制结果中返回的字段。 - 使用 CTRL-F 在 JSON 中搜索特定属性或术语。
查询字符串区分大小写,因此如果收到"未知字段"消息,请检查"字段"或"索引定义(JSON)"以验证名称和大小写。
关注TechLead,分享AI全维度知识。作者拥有10+年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕,复旦机器人智能实验室成员,阿里云认证的资深架构师,项目管理专业人士,上亿营收AI产品研发负责人。