Azure AI Search のデバッグ セッション

デバッグ セッションは、Azure portal の既存のスキルセットと連携するビジュアル エディターです。セッションの間に、インデクサーとスキルセットによって生成された 1 つのエンリッチされたドキュメントの構造と内容が表示されます。 実際のドキュメントを使っているので、このセッションは対話形式です。エラーの特定、スキルの実行の変更と呼び出し、結果の検証をリアルタイムで行うことができます。 変更によって問題が解決した場合は、公開されているスキルセットにコミットして、修正をグローバルに適用することができます。

デバッグ セッションのしくみ

セッションを開始すると、検索サービスによって、スキルセット、インデクサー、データ ソース (スキルセットのテストに使われる 1 つのドキュメントを含む) のコピーが作成されます。 すべてのセッション状態は、指定した Azure Storage アカウントの Azure AI Search Service よって作成された新しい BLOB コンテナーに保存されます。 生成されたコンテナーの名前には、プレフィックス "ms-az-cognitive-search-debugsession" があります。 プレフィックスを使用すると、セッション データを誤ってアカウント内の別のコンテナーにエクスポートする可能性を軽減できるため、これを使用することは必須です。

エンリッチされたドキュメントとスキルセットのキャッシュ コピーがビジュアル エディターに読み込まれるので、エンリッチされたドキュメントの内容とメタデータを調べることができます。また、各ドキュメント ノードを確認し、スキルセット定義のあらゆる側面を編集する機能があります。 セッション内で加えられた変更はすべてキャッシュされます。 これらの変更は、コミットしない限り、公開済みのスキルセットには影響しません。 変更をコミットすると、運用スキルセットが上書きされます。

エンリッチメント パイプラインにエラーがない場合は、デバッグ セッションを使用してドキュメントを段階的にエンリッチし、変更をコミットする前に各変更をテストして確認することができます。

デバッグ セッションの状態の管理

[開始] ボタンを使用してデバッグ セッションを再実行するか、[キャンセル] ボタンを使用して進行中のセッションを取り消すことができます。

Screenshot of the Debug Session control buttons.

[AI Enrichments]\(AI エンリッチメント\) タブ > [Skill Graph]\(スキル グラフ\)

ビジュアル エディターは、タブとペインで構成されています。 ここでは、ビジュアル エディターのコンポーネントについて説明します。

[Skill Graph]\(スキル グラフ\) には、スキルセットの視覚的な階層と、上から下への実行順序が示されます。 他のスキルの出力に依存するスキルは、グラフの下の方に配置されます。 階層内の同じレベルのスキルを並列して実行することができます。 グラフ内のスキルの色分けされたラベルは、スキルセットで実行されているスキルの種類 (テキストまたはビジョン) を示します。

グラフ内のスキルを選ぶと、そのスキルのインスタンスの定義、エラーや警告、実行履歴などの詳細が右側のペインに表示されます。 [スキル グラフ] では、デバッグまたは強化するスキルを選択します。 右側の詳細ウィンドウは、編集や探索を行う場所です。

Screenshot of Skills Graph tab.

スキルの詳細ウィンドウ

[Skill Graph]\(スキル グラフ\) のオブジェクトを選ぶと、隣のペインにはタブ形式のレイアウトで対話型の作業領域が表示されます。 前のスクリーンショットでは、詳細ウィンドウの図を確認できます。

スキル詳細には次の領域があります。

  • [Skill Settings]\(スキルの設定\) には、スキル定義の書式設定されたバージョンが表示されます。
  • [Skill JSON Editor]\(スキル JSON エディター\) には、定義の生の JSON ドキュメントが表示されます。
  • [実行] には、スキルが実行されるたびに対応するデータが表示されます。
  • [Errors and warnings]\(エラーと警告\) には、セッション開始時や更新時に生成されたメッセージが表示されます。

[Executions or Skill Settings]\(実行またはスキルの設定\) で </> 記号を選ぶと、スキルの入力と出力の式を表示および編集するために使う式エバリュエーターが表示されます。

[Skill Settings]\(スキルの設定\) の入れ子になった入力コントロールを使用して、プロジェクション用の複雑な図形、複合型フィールドの出力フィールドのマッピング、またはスキルへの入力を構築できます。 式エバリュエーターと併用すると、入れ子になった入力により、テストと検証が簡単にできる式ビルダーになります。

実行ペイン

スキルは、1 つのドキュメントのスキルセットで複数回実行できます。 たとえば、OCR スキルは、1 つのドキュメントから抽出されたイメージごとに 1 回実行されます。 [実行] ペインには、スキルの実行履歴が表示されます。これにより、スキルの各呼び出しをより深く調べることができます。

実行履歴を使用すると、特定のエンリッチメントを、それを生成したスキルまでさかのぼって追跡できます。 スキルの入力をクリックすると、その入力を生成したスキルに移動し、スタックトレースのような機能を提供できます。 これにより、ダウンストリーム スキルで発生する可能性がある問題の根本原因を特定できます。

カスタム スキルでエラーをデバッグする場合、実行履歴でスキル呼び出しの要求を生成するオプションがあります。

[AI Enrichments]\(AI エンリッチメント\) > [Enriched Data Structure]\(エンリッチされたデータ構造\)

[エンリッチ処理されたデータ構造] ペインには、スキルセットを介してドキュメントのエンリッチメントが表示され、各エンリッチメントのコンテキストと元のスキルの詳細が示されます。 式エバリュエーターを使って、各エンリッチメントの内容を表示することもできます。

Screenshot of Enriched Data Structure tab.

式エバリュエーター

[式エバリュエーター] では、任意のパスの値をクイック表示することができます。 これにより、スキルやプロジェクションの入力またはコンテキストを更新する前に、パスを編集し、結果をテストできます。

このウィンドウは、依存関係グラフまたはエンリッチメント ツリーのノードなど、</> 記号が表示されている任意のノードまたは要素から開くことができます。

式エバリュエーターには、スキルのコンテキスト、入力をテストし、出力を確認するための完全な対話型アクセスが用意されています。

Screenshot of Expression Evaluator.

次のステップ

デバッグ セッションの要素を理解したので、既存のスキルセットで最初のデバッグ セッションを開始します。