你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

在 Azure AI 搜索中调试会话

调试会话是 Azure 门户中一个用于调试现有技能组的可视化编辑器,可在会话期间显示由索引器和技能组生成的单个扩充文档的结构和内容。 由于处理的是实时文档,因此会话是交互式的 - 你可以识别错误、修改和调用技能执行,并实时验证结果。 如果所做的更改解决了问题,则可将这些更改提交到已发布的技能组,以全局应用修复措施。

本文介绍支持的方案和编辑器的组织方式。 该编辑器的选项卡和分区将解包技能组的不同层,以便你可以检查技能组结构、流以及它在运行时生成的内容。

支持的方案

使用调试会话来调查和解决以下问题:

  • 用于 AI 扩充的内置技能,例如 OCR、图像分析、实体识别和关键字提取。

  • 用于集成矢量化的内置技能,通过文本拆分进行数据分块,并通过嵌入技能进行矢量化。

  • 用于集成你提供的外部处理的自定义技能。

比较前两种方案的以下调试会话映像。 对于这两种情况,外围应用会显示从源文档路由到搜索索引时生成或转换内容的技能进度。 该流包括索引映射选项,可以跟踪箭头以跟踪处理线索。 右侧的详细信息窗格是与上下文相关的。 它显示扩充文档的表示形式,或技能或映射的详细信息。

第一个图像显示了应用 AI 扩充的模式。 如果没有依赖项,技能可以按顺序或并行运行。 输出字段映射将扩充的内容或生成的内容从内存中的数据结构发送到索引中的字段。

OCR 和图像分析的调试会话的屏幕截图。

第二张图像显示了集成矢量化的典型模式。 集成矢量化的技能通常包括文本拆分和嵌入技能。 文本拆分技能会将文档分块到页面中。 嵌入技能会提供矢量化。 投影映射会控制内容区块的索引方式。 此特定技能集会跳过父索引,并使用元数据标识区块源,创建仅对内容进行分块的索引。

集成矢量化的调试会话的屏幕截图。

限制

调试会话适用于所有正式发布的索引器数据源和大多数预览版数据源,但有以下例外:

  • 具有 SharePoint Online 索引器。

  • 具有 Azure Cosmos DB for MongoDB 索引器。

  • 对于 Azure Cosmos DB for NoSQL,如果某个行在索引期间失败并且没有相应的元数据,则调试会话可能不会选择正确的行。

  • 对于 Azure Cosmos DB 的 SQL API,如果分区集合以前未分区,则调试会话将找不到该文档。

  • 对于自定义技能,与 Azure 存储的调试会话连接不支持用户分配的托管标识。 如先决条件中所述,可以使用系统托管标识,或指定包含密钥的完全访问连接字符串。 有关详细信息,请参阅使用托管标识将搜索服务连接到其他 Azure 资源

调试会话的工作方式

当你启动会话时,搜索服务将创建技能组、索引器的副本和一个数据源,其中包含用于测试技能组的单个文档。 所有会话状态都将保存到你提供的 Azure 存储帐户中由 Azure AI 搜索服务创建的新 Blob 容器。 生成的容器的名称具有前缀 ms-az-cognitive-search-debugsession。 必须提供前缀,因为前缀减少了将会话数据意外导出到帐户中的另一个容器的可能性。

扩充文档和技能组的缓存副本将加载到可视化编辑器中,以便你能够检查已扩充文档的内容和元数据,并且能够检查每个文档节点并编辑技能组定义的任何方面。 将缓存在会话中所做的任何更改。 除非提交这些更改,否则这些更改不会影响已发布的技能组。 提交更改将覆盖生产技能组。

如果扩充管道没有任何错误,则可使用调试会话来以增量方式扩充文档、测试和验证每个更改,然后再提交更改。

调试会话布局

视觉编辑器会组织成显示操作进度的图面区域,首先是文档破解,然后是技能、映射和索引。

选择任何技能或映射,此时会打开一个窗格以侧显示相关信息。

显示技能详细信息窗格的屏幕截图,可在其中向下钻取以查看更多信息。

单击相应的链接进一步深入查看技能处理。 例如,以下屏幕截图显示了“文本拆分”技能首次迭代后的输出。

显示技能详细信息窗格的屏幕截图,其中显示了用于返回给定输出的表达式计算器。

技能详细信息窗格

“ 技能详细信息”窗格包含以下部分:

  • 迭代:显示技能执行的次数。 可以检查每一个的输入和输出。
  • 技能设置:查看或编辑 JSON 技能集定义。
  • 错误和警告:显示特定于此技能的错误或警告。

扩充数据结构窗格

选择蓝色显示或隐藏箭头符号时,“扩充数据结构 ”窗格将从侧边滑出。 它是扩充文档包含的人类可读表示形式。 本文前面的屏幕截图显示了扩充数据结构的示例。

后续步骤

了解调试会话的元素后,就可以在现有技能组上启动第一个调试会话了。