Azure 认知搜索中的调试会话

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

调试会话的工作方式

当你启动会话时,搜索服务将创建技能组、索引器的副本和一个数据源,其中包含用于测试技能组的单个文档。 所有会话状态都将保存到你提供的 Azure 存储帐户中由 Azure 认知搜索服务创建的新 Blob 容器。 生成的容器的名称具有前缀“ms-az-cognitive-search-debugsession”。 用于选择将调试会话数据导出到的目标存储帐户的 Azure 存储流始终请求用户选择一个容器。 默认情况下会省略此操作,来避免错误地将调试会话数据导出到客户创建的容器中,该容器可能包含与调试会话无关的数据。

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

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

管理调试会话状态

调试会话可以在创建并首次运行后使用“开始”按钮再次运行。 当它仍在执行时,也可以使用“取消”按钮将其取消。 最后,可以使用“删除”按钮删除调试会话。

Screenshot of the Debug Session control buttons.

“AI 扩充”选项卡 > 技能图

视觉编辑器已组织成选项卡和窗格。 本部分介绍可视化编辑器的组件。

技能图提供技能组的可视层次结构并从上到下显示其执行顺序。 依赖于其他技能的输出的技能置于图中靠近下方的位置。 位于层次结构中同一级别的技能可并行执行。 图中技能的颜色编码标签表示技能组中要执行的技能的类型(文本或视觉)。

在图中选择某项技能会在右侧窗格中显示该技能实例的详细信息,包括其定义、错误或警告以及执行历史记录。 在“技能图”中,可选择要调试或增强的技能。 在右侧的详细信息窗格中可以编辑和浏览内容。

Screenshot of Skills Graph tab.

技能详细信息窗格

在“技能图”中选择对象时,相邻的窗格将以选项卡式布局提供交互式工作区。 在上一屏幕截图中可以找到详细信息窗格的图示。

技能详细信息包括以下区域:

  • 技能设置:显示技能定义的格式化版本。
  • 技能 JSON 编辑器:显示定义的原始 JSON 文档。
  • “执行”显示每次执行技能时所对应的数据。
  • “错误和警告”显示会话启动或刷新时生成的消息。

在“执行”或“技能设置”中,选择 </> 符号可以打开表达式计算器,它可用于查看和编辑技能输入与输出表达式。

“技能设置”中的嵌套输入控件可用于为投影、复杂类型字段的输出字段映射或技能输入生成复杂的形状。 与表达式计算器配合使用时,嵌套输入可提供简单的测试和验证表达式生成器。

“执行”窗格

可针对单个文档多次执行一个技能组中的某个技能。 例如,对于从单个文档中提取的每个图像,将执行一次 OCR 技能。 “执行”窗格会显示技能的执行历史记录,有助于更深入地了解每次技能调用。

使用执行历史记录,可追溯生成特定扩充的技能。 单击某个技能输入会导航到生成该输入的技能,提供类似于堆栈跟踪的功能。 通过此操作,可识别下游技能中可能出现的问题的根本原因。

在使用自定义技能调试错误时,可以选择在执行历史记录中生成技能调用请求。

表达式计算器

使用“表达式计算器”,可快速浏览任何路径的值。 它可用于在更新技能或投影的任何输入或上下文之前编辑路径和测试结果。

可以从显示了 </> 符号的任何节点或元素(包括依赖项关系图的部件或扩充树中的节点)打开窗口。

表达式计算器为你提供完全交互访问权限,以便可以测试技能上下文和输入以及检查输出。

Screenshot of Expression Evaluator.

后续步骤

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