快速入门:在 Azure 门户中创建技能组

在本快速入门中,你将了解 Azure AI 搜索中的技能集如何通过添加光学字符识别 (OCR)、图像分析、语言检测、文本翻译和实体识别在搜索索引中生成可搜索文本内容。

你可以在 Azure 门户中运行“导入数据”向导,以应用在索引期间创建和转换文本内容的技能。 输入是原始数据,通常是 Azure 存储中的 Blob。 输出是包含 AI 生成的图像文本、字幕和实体的可搜索索引。 可以使用搜索浏览器在门户中查询生成的内容。

为做好准备,在运行向导之前需要创建一些资源并上传示例文件。

先决条件

开始之前,必须具备以下先决条件:

注意

此快速入门将 Azure AI 服务用于 AI。 由于工作负荷很小,因此,Azure AI 服务在幕后会抽调一部分算力来免费处理事务(最多 20 个)。 无需创建 Azure AI 多服务资源即可完成此练习。

设置数据

在以下步骤中,在 Azure 存储中设置 blob 容器以存储异类内容文件。

  1. 下载示例数据,其中包括不同类型的小型文件集。 解压缩文件。

  2. 使用 Azure 帐户登录到 Azure 门户

  3. 创建 Azure 存储帐户查找现有帐户

    • 选择 Azure AI 搜索所在的同一区域,以避免带宽费用。

    • 选择StorageV2(常规用途 V2)。

  4. 在 Azure 门户中,打开 Azure 存储页并创建容器。 可以使用默认访问级别。

  5. 在“容器”中,选择“上传”以上传示例文件。 请注意,内容类型非常广泛,包括无法以本机格式进行全文搜索的图像和应用程序文件。

    Screenshot of source files in Azure Blob Storage.

现在,你已准备好继续运行“导入数据”向导。

运行“导入数据”向导

  1. 使用 Azure 帐户登录到 Azure 门户

  2. 查找搜索服务,并在“概述”页中,选择命令栏上的“导入数据”,以通过四个步骤创建可搜索内容。

    Screenshot of the Import data command.

步骤 1:创建数据源

  1. 在“连接到数据”中,选择“Azure Blob 存储” 。

  2. 选择与存储帐户的现有连接,然后选择你创建的容器。 为数据源命名,并对余下的设置使用默认值。

    Screenshot of the data source definition page.

    继续转到下一页。

如果收到“从数据源检测索引架构时出错”,则说明支持向导的索引器无法连接到数据源。 数据源很可能具有安全保护。 尝试以下解决方案,然后重新运行向导。

安全功能 解决方案
资源需要 Azure 角色或其访问密钥处于禁用状态 作为受信任的服务进行连接使用托管标识进行连接
资源位于 IP 防火墙后面 为搜索和 Azure 门户创建入站规则
资源需要专用终结点连接 通过专用终结点连接

步骤 2:添加认知技能

接下来,配置 AI 扩充来调用 OCR、图像分析和自然语言处理。

  1. 对于本快速入门,我们将使用免费的 Azure AI 服务资源。 示例数据包括 14 个文件,因此,Azure AI 服务免费提供的 20 个事务配额足以完成本快速入门。

    Screenshot of the Attach Azure AI services tab.

  2. 展开“添加扩充”,并做出六项选择。

    启用 OCR,将图像分析技能添加到向导页。

    选择实体识别(人员、组织和位置)和图像分析技能(标记、字幕)。

    Screenshot of the skillset definition page.

    继续转到下一页。

步骤 3:配置索引

索引包含可搜索的内容,“导入数据”向导则通常可以通过对数据源采样来创建架构。 在此步骤中查看生成的架构,并根据情况修改任何设置。

在本快速入门中,向导能够很好地设置合理的默认值:

  • 默认字段基于现有 blob 的元数据属性,以及用于扩充输出的新字段(例如 peopleorganizationslocations)。 数据类型从元数据和数据采样推断。

  • 默认文档键是 metadata_storage_path(由于字段包含唯一值,因此选择了此键)。

  • 默认属性为可检索可搜索可搜索允许对字段进行全文搜索。 可检索意味着可以在结果中返回字段值。 向导假设你希望这些字段可检索且可搜索,因为它们是通过技能集创建的。 如果要在筛选表达式中使用字段,请选择“可筛选”。

    Screenshot of the index definition page.

将某个字段标记为 Retrievable 并不意味着该字段一定会出现在搜索结果中。 通过使用“选择”查询参数指定要包含的字段,可以控制搜索结果的构成

继续转到下一页。

步骤 4:配置索引器

索引器驱动索引过程。 它指定数据源名称、目标索引和执行频率。 “导入数据”向导将创建多个对象,包括一个可以重置和重复运行的索引器。

  1. 在“索引器”页中,接受默认名称并选择“一次”

    Screenshot of the indexer definition page.

  2. 选择“提交”以创建并同时运行索引器。

监视状态

从左侧导航窗格中选择“索引器”以监视状态,然后选择索引器。 基于技能编制索引耗时长于基于文本编制索引,尤其是 OCR 和图像分析。

Screenshot of the indexer status page.

要查看有关执行状态的详细信息,请选择“成功”(或“失败”)以查看执行详细信息

此演示中会显示几条警告:"Could not execute skill because one or more skill input was invalid.",它表明数据源中的 PNG 文件不不会向实体识别提供文本输入。 出现此警告是因为上游 OCR 技能无法识别图像中的任何文本,因此无法为下游实体识别技能提供文本输入。

警告在技能组执行中很常见。 随着你熟悉技能循环访问数据的方式,你可能开始发现规律并了解哪些警告是可以安全忽略的。

搜索浏览器中的查询

创建索引后,使用“搜索资源管理器”返回结果

  1. 在左侧,选择“索引”,然后选择索引。 “搜索资源管理器”在第一个选项卡上

  2. 输入要在其中查询索引的搜索字符串,例如 satya nadella。 搜索栏接受关键字、带引号的短语和运算符("Satya Nadella" +"Bill Gates" +"Steve Ballmer")。

随后会返回详细的 JSON 格式的结果,这些结果可能难以阅读,尤其是在大型文档中。 在此工具中搜索时,可以借鉴一些提示,其中包括以下技术:

  • 切换到 JSON 视图以指定影响结果的参数。

  • 添加 select 以限制结果中的字段。

  • 添加 count 以显示匹配项数。

  • 使用 CTRL-F 在 JSON 中搜索特定属性或术语。

    Screenshot of the Search explorer page.

下面是可以粘贴到视图中的一些 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 创建技能集。 若要学习更多的知识,请使用 Postman 和更多示例数据来尝试运行 REST API。