次の方法で共有


クイック スタート: Azure portal でスキルセットを作成する

Important

データのインポート (新しい) ウィザードでは、以前はデータのインポート ウィザードでのみ使用できたキーワード検索がサポートされるようになりました。 検索エクスペリエンスを向上させるために、新しいウィザードをお勧めします。 ウィザードの統合方法の詳細については、 Azure portal でのデータのインポート ウィザードに関するページを参照してください。

このクイック スタートでは、Azure AI Search のスキルセットが光学式文字認識 (OCR)、画像分析、言語検出、テキストマージ、エンティティ認識を追加して、インデックスにテキスト検索可能なコンテンツを生成する方法について説明します。

Azure portal で データのインポート (新しい) ウィザードを実行して、インデックス作成中にテキスト コンテンツを作成および変換するスキルを適用できます。 入力は生データ (通常は Azure Storage 内の BLOB) です。 出力は、AI によって生成された画像テキスト、キャプション、エンティティを含む検索可能なインデックスです。 その後、 Search エクスプローラーを使用して、Azure portal で生成されたコンテンツに対してクエリを実行できます。

ウィザードを実行する前に、いくつかのリソースを作成し、サンプル ファイルをアップロードします。

前提条件

  • アクティブなサブスクリプションが含まれる Azure アカウント。 無料でアカウントを作成できます

  • Azure AI Search Service。 サービスを作成 するか 、現在の サブスクリプションで既存のサービスを検索します。 このクイック スタートでは無料サービスを使用できます。

  • Azure Storage アカウント。 標準パフォーマンス (汎用 v2) アカウントで Azure Blob Storage を使用します。 帯域幅の課金を回避するには、Azure AI Search と同じリージョンを使用します。

Note

このクイックスタートでは、AIエンリッチメント用にFoundry Toolsを使用します。 ワークロードが小さいため、Foundry Tools はバックグラウンドでタップされ、最大 20 個のトランザクションを無料で処理できます。 そのため、Microsoft Foundry リソースを作成する必要はありません。

サンプル データの準備

このセクションでは、ネイティブ形式でフルテキスト検索できない画像やアプリケーション ファイルなど、さまざまな種類のファイルで構成されるサンプル データを格納する Azure Storage コンテナーを作成します。

このクイック スタートのサンプル データを準備するには:

  1. Azure portal にサインインし、Azure Storage アカウントを選択します。

  2. 左側のウィンドウで、[ データ ストレージ>Containers] を選択します。

  3. コンテナーを作成し、 サンプル データ をコンテナーにアップロードします。

ウィザードを実行する

ウィザードを実行するには:

  1. Azure portal にサインインし、検索サービスを選択します。

  2. [ 概要 ] ページで、[ データのインポート (新規)] を選択します。

    Azure portal で新しいインポート ウィザードを開く方法を示すスクリーンショット。

  3. データ ソースの Azure Blob Storage を選択します。

    Azure portal の Azure Blob Storage データ ソース オプションのスクリーンショット。

  4. キーワード検索を選択します

    Azure portal のキーワード検索タイルのスクリーンショット。

手順 1:データ ソースを作成する

Azure AI Search では、コンテンツインジェストとインデックス作成のためにデータ ソースへの接続が必要です。 この場合、データ ソースは Azure Storage アカウントです。

データ ソースを作成するには:

  1. [ データへの接続 ] ページで、Azure サブスクリプションを選択します。

  2. ストレージ アカウントを選択し、作成したコンテナーを選択します。

    Azure portal の [データへの接続] ページのスクリーンショット。

  3. [次へ] を選択します。

Error detecting index schema from data sourceを取得した場合、ウィザードを実行するインデクサーはデータ ソースに接続できません。 ほとんどの場合、データ ソースにはセキュリティ保護があります。 次の解決策を試し、ウィザードを再実行します。

セキュリティ機能 解決策
リソースには Azure ロールが必要です。または、そのアクセス キーが無効になっています。 信頼されたサービスとして接続するか、マネージド ID を使用して接続します
リソースは IP ファイアウォールの内側にあります。 Azure AI Search と Azure portal の受信規則を作成します
リソースにはプライベート エンドポイント接続が必要です。 プライベート エンドポイント経由で接続します

手順 2: コグニティブ スキルを追加する

次の手順では、OCR、画像分析、エンティティ認識を呼び出すように AI エンリッチメントを構成します。

OCR と画像分析は、Azure Blob Storage と Azure Data Lake Storage (ADLS) Gen2 の BLOB と Microsoft OneLake の画像コンテンツで使用できます。 画像は、スタンドアロン ファイルにすることも、PDF またはその他のファイルに埋め込まれた画像にすることもできます。

スキルを追加するには:

  1. [ エンティティの抽出] を選択し、歯車アイコンを選択します。

  2. 次のチェックボックスを選択して保存します。

    • 人たち

    • 場所

    • 組織

    Azure portal の [エンティティの抽出] オプションのスクリーンショット。

  3. [ 画像からテキストを抽出] を選択し、歯車アイコンを選択します。

  4. 次のチェックボックスを選択して保存します。

    • タグの生成

    • コンテンツの分類

    Azure portal の [画像からテキストを抽出する] オプションのスクリーンショット。

  5. [ 無料の AI サービス (制限付きエンリッチメント) を使用する] チェック ボックスはオンのままにします。

    サンプル データは 14 個のファイルで構成されているため、Foundry Tools での 20 件のトランザクションの無料割り当てで十分です。

  6. [次へ] を選択します。

手順 3:インデックスの構成

インデックスには、検索可能なコンテンツが含まれています。 ウィザードでは通常、データ ソースをサンプリングしてスキーマを作成できます。 この手順では、生成されたスキーマを確認し、設定を変更する可能性があります。

このクイック スタートでは、ウィザードによって適切な既定値が設定されます。

  • 既定のフィールドは、既存の BLOB のメタデータ プロパティとエンリッチメント出力の新しいフィールド ( personslocationsorganizationsなど) に基づいています。 データ型は、メタデータとデータのサンプリングから推定されます。

    インデックス定義ページのスクリーンショット。

  • 既定のドキュメント キーは metadata_storage_pathです。これは、フィールドに一意の値が含まれているために選択されます。

  • 既定のフィールド属性は、選択したスキルに基づいています。 たとえば、エンティティ認識スキル (personslocationsorganizations) によって作成されたフィールドは、 取得可能フィルター可能ファセット可能および検索可能です。 これらの属性を表示および変更するには、フィールドを選択し、[フィールドの 構成] を選択します。

    検索可能な フィールドは結果で返すことができますが、 検索可能な フィールドはフルテキスト検索をサポートします。 フィルター式でフィールドを使用する場合は、[ フィルター可能 ] を使用します。

    フィールドを 取得可能 としてマークしても、そのフィールドが検索結果に表示 される必要がある わけではありません。 select クエリ パラメーターを使用して、返されるフィールドを制御できます。

インデックス スキーマを確認したら、[ 次へ] を選択します。

手順 4: 詳細設定をスキップする

このウィザードでは、セマンティック ランク付けとインデックスのスケジュール設定の詳細設定を提供します。このクイック スタートでは扱い得ありません。 [次へ] を選択して、この手順をスキップします。

手順 5: オブジェクトを確認して作成する

最後の手順では、構成を確認し、検索サービスでインデックス、インデクサー、データ ソースを作成します。 インデクサーは、データ ソースからコンテンツを抽出し、インデックスを読み込み、スキルセットの実行を促進するプロセスを自動化します。

オブジェクトを確認して作成するには:

  1. 既定の オブジェクト名プレフィックスをそのまま使用します

  2. オブジェクトの構成を確認します。

    Azure portal のオブジェクト構成ページのスクリーンショット。

    ウィザードの手順をスキップしたため、AI エンリッチメント、セマンティック ランカー、インデクサーのスケジュール設定は無効になるか、既定値に設定されます。

  3. オブジェクトを同時に作成し、インデクサーを実行するには、[ 作成 ] を選択します。

状態を監視する

Azure portal でインデクサーの作成を監視できます。 スキルベースのインデックス作成は、テキストベースのインデックス作成 (特にOCRと画像分析) よりも時間がかかります。

インデクサーの進行状況を監視するには:

  1. 左側のウィンドウで、[ インデクサー] を選択します。

  2. 一覧からインデクサーを選択します。

  3. 実行の詳細を表示するには、[ 成功 ] (または [失敗]) を選択します。

    インデクサーの状態ページのスクリーンショット。

このクイック スタートでは、 Could not execute skill because one or more skill input was invalid. この警告を含め、いくつかの警告があります。この警告は、データ ソース内の PNG ファイルがエンティティ認識にテキスト入力を提供しないことを示しています。 これは、アップストリームの OCR スキルが画像内のテキストを認識せず、ダウンストリームエンティティ認識スキルにテキスト入力を提供できなかったために発生します。

スキルセットの実行では警告が一般的です。 スキルがデータを反復処理する方法に慣れるにつれて、パターンに気付き、無視しても安全な警告を学習するかもしれません。

Search エクスプローラーでクエリを実行する

インデックスに対してクエリを実行するには:

  1. 左側のウィンドウで、[ インデックス] を選択します。

  2. 一覧からインデックスを選択します。 インデックスにドキュメントまたはストレージが 0 個ある場合は、Azure portal が更新されるまで待ちます。

  3. [ 検索エクスプローラー ] タブで、 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": "merged_content, persons"
}

ヒント

クエリ文字列では大文字と小文字が区別されるため、"不明なフィールド" メッセージが表示された場合は、 フィールド または インデックス定義 (JSON) をチェックして名前と大文字と小文字を確認します。

重要なポイント

最初のスキルセットを作成し、スキルベースのインデックス作成の基本的な手順を学習しました。

習得していただきたい主な概念に、依存関係が含まれます。 スキルセットはインデクサーにバインドされ、インデクサーは Azure とソースに固有です。 このクイック スタートでは Azure Blob Storage を使用しますが、他の Azure データ ソースも利用できます。 詳細については、「Azure AI Searchでのインデクサー」を参照してください。

もう 1 つの重要な概念は、スキルがコンテンツ タイプに対して動作し、異種コンテンツを使用すると、一部の入力がスキップされるということです。 また、ファイルまたはフィールドが大きいと、ご利用のサービス レベルのインデクサーの制限を超過してしまう可能性があります。 そうした状況で警告が発生するのは異常ではありません。

出力は検索インデックスにルーティングされ、インデックス作成中に作成された名前と値のペアと、インデックス内の個々のフィールドの間にマッピングが存在します。 内部的には、ウィザードがエンリッチメント ツリーを設定し、スキルセットを定義して、操作と一般的なフローの順序を確立します。 これらの手順はウィザードには表示されませんが、コードの記述を開始するときは、これらの概念が重要になります。

最後に、インデックスに対してクエリを実行することで内容を確認できることを学習しました。 最終的に、Azure AI Search には、 単純 なクエリ 構文または完全に拡張されたクエリ構文を使用してクエリを実行できる検索可能なインデックスが用意されています。 エンリッチされたフィールドを含むインデックスは、他のフィールドと同様です。 標準アナライザーまたは カスタム アナライザースコアリング プロファイルシノニムファセット ナビゲーション、geo 検索、その他の Azure AI Search 機能を組み込むことができます。

リソースをクリーンアップする

独自のサブスクリプションを使用している場合は、プロジェクトの最後に、作成したリソースがまだ必要かどうかを確認してください。 リソースを実行したままにすると、お金がかかる場合があります。 リソースを個別に削除するか、リソース グループを削除してリソースのセット全体を削除することができます。

左側のウィンドウで [すべての リソース] または [リソース グループ ] を選択すると、Azure portal でリソースを見つけて管理できます。

無料サービスをお使いの場合は、インデックス、インデクサー、データ ソースが 3 つに制限されることにご注意ください。 Azure portal で個別の項目を削除して、制限を超えないようにすることができます。

次のステップ

Azure portal、REST API、または Azure SDK を使用してスキルセットを作成できます。 REST クライアントとその他のサンプル データを使用して、REST API を試してください。