快速入门:在 Azure 门户中创建技能组
在本快速入门中,你将了解 Azure AI 搜索中的技能集如何通过添加光学字符识别 (OCR)、图像分析、语言检测、文本翻译和实体识别在搜索索引中生成可搜索文本内容。
你可以在 Azure 门户中运行“导入数据”向导,以应用在索引期间创建和转换文本内容的技能。 输入是原始数据,通常是 Azure 存储中的 Blob。 输出是包含 AI 生成的图像文本、字幕和实体的可搜索索引。 可以使用搜索浏览器在门户中查询生成的内容。
为做好准备,在运行向导之前需要创建一些资源并上传示例文件。
先决条件
开始之前,必须具备以下先决条件:
注意
此快速入门将 Azure AI 服务用于 AI 转换。 由于工作负荷很小,因此,Azure AI 服务在幕后会抽调一部分算力来免费处理事务(最多 20 个)。 无需创建 Azure AI 多服务资源即可完成此练习。
设置数据
在以下步骤中,在 Azure 存储中设置 blob 容器以存储异类内容文件。
下载示例数据,其中包括不同类型的小型文件集。
使用 Azure 帐户登录到 Azure 门户。
-
选择 Azure AI 搜索所在的同一区域,以避免带宽费用。
选择StorageV2(常规用途 V2)。
在 Azure 门户中,打开 Azure 存储页并创建容器。 可以使用默认访问级别。
在“容器”中,选择“上传”以上传示例文件。 请注意,内容类型非常广泛,包括无法以本机格式进行全文搜索的图像和应用程序文件。
现在,你已准备好继续运行“导入数据”向导。
运行“导入数据”向导
步骤 1:创建数据源
在“连接到数据”中,选择“Azure Blob 存储” 。
选择与存储帐户的现有连接,然后选择你创建的容器。 为数据源命名,并对余下的设置使用默认值。
继续转到下一页。
如果收到“从数据源检测索引架构时出错”,则说明支持向导的索引器无法连接到数据源。 数据源很可能具有安全保护。 尝试以下解决方案,然后重新运行向导。
安全功能 | 解决方案 |
---|---|
资源需要 Azure 角色或其访问密钥处于禁用状态 | 作为受信任的服务进行连接或使用托管标识进行连接 |
资源位于 IP 防火墙后面 | 为搜索和 Azure 门户创建入站规则 |
资源需要专用终结点连接 | 通过专用终结点连接 |
步骤 2:添加认知技能
接下来,配置 AI 扩充来调用 OCR、图像分析和自然语言处理。
对于本快速入门,我们将使用免费的 Azure AI 服务资源。 示例数据包括 14 个文件,因此,Azure AI 服务免费提供的 20 个事务配额足以完成本快速入门。
展开“添加扩充”,并做出六项选择。
启用 OCR,将图像分析技能添加到向导页。
选择实体识别(人员、组织和位置)和图像分析技能(标记、字幕)。
继续转到下一页。
步骤 3:配置索引
索引包含可搜索的内容,“导入数据”向导则通常可以通过对数据源采样来创建架构。 在此步骤中查看生成的架构,并根据情况修改任何设置。
在本快速入门中,向导能够很好地设置合理的默认值:
默认字段基于现有 blob 的元数据属性,以及用于扩充输出的新字段(例如
people
、organizations
、locations
)。 数据类型从元数据和数据采样推断。默认文档键是 metadata_storage_path(由于字段包含唯一值,因此选择了此键)。
默认属性为可检索和可搜索。 可搜索允许对字段进行全文搜索。 可检索意味着可以在结果中返回字段值。 向导假设你希望这些字段可检索且可搜索,因为它们是通过技能集创建的。 如果要在筛选表达式中使用字段,请选择“可筛选”。
将某个字段标记为 Retrievable 并不意味着该字段一定会出现在搜索结果中。 通过使用“选择”查询参数指定要包含的字段,可以控制搜索结果的构成。
继续转到下一页。
步骤 4:配置索引器
索引器驱动索引过程。 它指定数据源名称、目标索引和执行频率。 “导入数据”向导将创建多个对象,包括一个可以重置和重复运行的索引器。
在“索引器”页中,接受默认名称并选择“一次”。
选择“提交”以创建并同时运行索引器。
监视状态
从左侧导航窗格中选择“索引器”以监视状态,然后选择索引器。 基于技能编制索引耗时长于基于文本编制索引,尤其是 OCR 和图像分析。
要查看有关执行状态的详细信息,请选择“成功”(或“失败”)以查看执行详细信息。
此演示中会显示几条警告:"Could not execute skill because one or more skill input was invalid."
,它表明数据源中的 PNG 文件不不会向实体识别提供文本输入。 出现此警告是因为上游 OCR 技能无法识别图像中的任何文本,因此无法为下游实体识别技能提供文本输入。
警告在技能组执行中很常见。 随着你熟悉技能循环访问数据的方式,你可能开始发现规律并了解哪些警告是可以安全忽略的。
搜索浏览器中的查询
创建索引后,使用“搜索资源管理器”返回结果。
在左侧,选择“索引”,然后选择索引。 “搜索资源管理器”在第一个选项卡上。
输入要在其中查询索引的搜索字符串,例如
satya nadella
。 搜索栏接受关键字、带引号的短语和运算符("Satya Nadella" +"Bill Gates" +"Steve Ballmer"
)。
随后会返回详细的 JSON 格式的结果,这些结果可能难以阅读,尤其是在大型文档中。 在此工具中搜索时,可以借鉴一些提示,其中包括以下技术:
切换到 JSON 视图以指定影响结果的参数。
添加
select
以限制结果中的字段。添加
count
以显示匹配项数。使用 CTRL-F 在 JSON 中搜索特定属性或术语。
下面是可以粘贴到视图中的一些 JSON:
{
"search": "\"Satya Nadella\" +\"Bill Gates\" +\"Steve Ballmer\"",
"count": true,
"select": "content, people"
}
提示
查询字符串区分大小写,因此如果收到“未知字段”消息,请检查“字段”或“索引定义(JSON)”以验证名称和大小写。
要点
现在,你已创建第一个技能集,并已了解基于技能编制索引的基本步骤。
我们希望你选取的一些关键概念包括依赖项。 技能集绑定到索引器,索引器特定于 Azure 和源。 虽然本快速入门使用的是 Azure Blob 存储,但也可以使用其他 Azure 数据源。 有关详细信息,请参阅 Azure AI 搜索中的索引器。
另一个重要概念是技能针对内容类型运行,因此在处理异源内容时,会跳过某些输入。 而且,大型文件或字段可能会超出服务层级的索引器限制。 正常情况下,在发生这些事件时会看到警告。
输出将路由到搜索索引,并且在编制索引期间创建的名称/值对与索引中的各个字段之间存在映射关系。 向导会在内部设置扩充树并定义技能集,从而建立操作顺序和常规流。 这些步骤隐藏在向导中,但开始编写代码后,这些概念非常重要。
最后,你已了解可以通过查询索引来验证内容。 Azure AI 搜索最终提供的结果是一个可搜索的索引,可以使用简单或全面扩展的查询语法来查询它。 包含扩充字段的索引与其他任何索引类似。 若要合并标准或自定义分析器、计分概要文件、同义词、分面导航、异地搜索或其他任何 Azure AI 搜索功能,完全可以这样做。
清理资源
在自己的订阅中操作时,最好在项目结束时确定是否仍需要已创建的资源。 持续运行资源可能会产生费用。 可以逐个删除资源,也可以删除资源组以删除整个资源集。
可以使用左侧导航窗格中的“所有资源”或“资源组”链接 ,在门户中查找和管理资源。
如果使用免费服务,请记住只能设置三个索引、索引器和数据源。 可以在门户中删除单个项目,以不超出此限制。
后续步骤
可以使用门户、.NET SDK 或 REST API 创建技能集。 若要学习更多的知识,请使用 REST 客户端和更多示例数据来尝试运行 REST API。