Azure AI 検索の特徴

メモ

Azure AI 検索は、Azure ポータルREST APIおよびAzure SDKから使用できます。 また、Foundry IQ は、エンタープライズ コンテンツを、Microsoft Foundry ポータルのエージェントの再利用可能なアクセス許可に対応したナレッジ ベースに変換するマネージド ナレッジ レイヤーです。

Azure AI 検索は、情報の取得を提供し、オプションの AI 統合を使用して、テキストとベクター コンテンツからより多くの値を抽出します。

次の表は、カテゴリ別の特徴をまとめたものです。 すべての Azure パブリック、プライベート、ソブリンクラウドは機能が同等ですが、一部の機能は特定の地域や特定のレベルではサポートされていません。

エージェンティック検索

カテゴリ 機能
ナレッジ ベース ナレッジ ベースは 、エージェント検索パイプラインを調整し、LLM に接続し、クエリ パラメーターを管理します。 ナレッジ ベースは、1 つ以上のナレッジ ソースを参照し、取得動作を定義します。
ナレッジ ソース ナレッジ ソースは 、エージェントの取得に使用されるコンテンツを指定します。 検索インデックスAzure Blob StorageOneLakeSharePoint (インデックス付き)SharePoint (リモート)、または Web (Bing) からナレッジ ソースを作成します。
クエリプランニング クエリ計画では、LLM を使用して会話コンテキストを分析し、複雑な質問を焦点を絞ったサブクエリに分割します。 これには、チャット履歴処理、クエリ分解、シノニム拡張、スペル修正が含まれます。
並列クエリの実行 サブクエリは、すべてのナレッジ ソースで同時に実行されます。 各サブクエリでは、自動セマンティック 再ランク付けによるキーワード、ベクター、ハイブリッド検索がサポートされます。
検索推論作業 取得の推論作業 (プレビュー) は、パイプライン内の LLM 処理のレベルを制御します。 速度を重視する場合は最小 (LLMなし) に、処理のバランスを重視する場合は低に、最大の関連性を求める場合は中に設定します。
応答合成 結果は統合された応答に結合され、3 つの部分が含まれます。グラウンド データのコンテンツのマージ、引用文献のソース参照、クエリ プランを示す実行の詳細です。

インデックス作成とデータ抽出

カテゴリ 機能
データ ソース 検索インデックスは、JSON ドキュメントとして送信された場合、任意のソースからのテキストを受け入れます。

インデクサー は、サポートされているデータ ソースからのデータインポートを自動化して、プライマリ データ ストア内の検索可能なコンテンツを抽出する機能です。 インデクサーは JSON シリアル化を処理し、ほとんどの場合、何らかの形式の変更と削除の検出をサポートします。 OneLake、Microsoft Azure SQL Database、Azure Cosmos DBAzure Blob Storageなど、さまざまなデータ ソースに接続できます。

Logic Apps コネクタを 使用すると、他のクラウド プラットフォーム上のデータなど、幅広いデータ ソースにアクセスできます。 このインデックス作成とエンリッチメント パイプラインは、Azure AI 検索で作成されますが、Azure Logic Appsで管理されます。

ナレッジ ソース は、エージェント検索の機能です。 これらは、インデックス作成中とクエリ時に ナレッジ ベースをサポートするために使用されます。
階層データ構造と入れ子になったデータ構造 複合型 とコレクションを使用すると、検索インデックス内のほぼすべての種類の JSON 構造をモデル化できます。 一対多と多対多のカーディナリティは、コレクション、複合型、および複合型のコレクションを通じてネイティブに表現できます。
言語分析 アナライザーは、インデックス作成および検索操作中にテキスト処理に使用されるクラシック検索のコンポーネントです。 既定では、汎用 Standard Lucene アナライザーを使用するか、言語アナライザー、構成するカスタム アナライザー、または必要な形式でトークンを生成する別の定義済みアナライザーで既定値をオーバーライドできます。 Lucene または Microsoft の

Language アナライザ は、動詞の時制や性別、不規則な複数形の名詞 (例えば、「マウス」と「mice」)、複合語の分解、単語区切り (スペースがない言語の場合) などの言語固有の言語学的問題をインテリジェントに処理するために使用されます。

カスタム字句アナライザー は、ふりがなの照合や正規表現などの複雑なクエリ 形式に使用されます。

チャット モデルとエージェントの統合

カテゴリ 機能
インデックス作成中に使用されるチャット補完モデル GenAI プロンプト スキル は、インデックス作成中に大規模な言語モデルを呼び出し、タスクを決定するプロンプトを提供するスキルです。 タスクの内容を決定します。 画像の記述、コンテンツの要約または操作、またはモデルが実行できるタスクが含まれる場合があります。 出力は、検索可能なインデックスの新しいフィールドとして追加されます。
クエリ時に使用されるチャット完了モデル エージェント検索 では、大規模な言語モデルを使用して、クエリの計画、分解、および複雑なクエリの言い換えにより、インデックスに対するクエリ カバレッジを向上します。 エージェント検索からの応答は、エージェント間ワークフロー用に設計されています。 検索結果を 1 つの大きな文字列として渡すことができます。これにより、独自のコンテンツのエージェントの使用が簡略化されます。 応答には、引用文献とクエリ実行情報も含まれます。

応答合成 (プレビュー) では、LLM を使用して、エージェント検索によって返された検索結果から引用に基づく応答を生成します。

RAG パターンは 、既存の機能を使用して実装できます。 関連性を調整し、ハイブリッド クエリを構築する機能により、応答生成のためにチャット ボットに送信されるコンテンツの品質が向上します。

適用された AI と AI によって強化されたコンテンツ

カテゴリ 機能
インデックス作成中の AI 処理 AI エンリッチメント とは、フルテキスト検索用にインデックスを作成できないコンテンツからテキストと情報を抽出するインデクサー パイプライン内の埋め込み画像と自然言語処理を指します。 AI 処理は、スキルセットにスキルを追加して組み合わせることによって実現され、インデクサーにアタッチされます。 AI には、テキスト翻訳や光学式文字認識 (OCR) などのMicrosoftの組み込みスキル、または指定した custom スキルがあります。

統合されたデータ チャンクとベクター化 により、ベクター化できる小さなチャンクに大きな通路が分割され、ベクターとハイブリッド検索のインデックス内の専用フィールドにベクターがルーティングされます。
クエリの実行中の AI 処理 Vectorizer は 、ベクター検索用のベクターにユーザー クエリ文字列をエンコードするために使用されます。 インデックス作成に使用したのと同じ埋め込みモデルをクエリに使用できます。

検索以外のシナリオでの分析と使用のためにエンリッチされたコンテンツを格納する ナレッジ ストア は、ナレッジ マイニングやデータ サイエンスワークロードなどの検索以外のシナリオを対象とした、AI エンリッチドコンテンツまたは AI 生成コンテンツの永続的なストレージです。 ナレッジ ストアはスキルセットで定義されますが、オブジェクトまたは表形式の行セットとしてAzure Storageで作成されます。
キャッシュされたエンリッチメント エンリッチメント キャッシュ (プレビュー) とは、スキルセットの実行中に再利用できるキャッシュされたエンリッチメントを指します。 キャッシュは、OCR や画像分析を含むスキルセットでは価値があり、処理にコストがかかります。

ベクターとハイブリッドの取得

カテゴリ 機能
ベクター インデックス作成 検索インデックス内で、 ベクター検索 シナリオをサポートする ベクター フィールドを追加します。 ベクター フィールドは、同じ検索ドキュメント内の非ベクトル フィールドと共存できます。
ベクター クエリ 単一および複数のベクター クエリを作成します
ベクター検索アルゴリズム 階層ナビゲーション可能 Small World (HNSW) または完全な K-Nearest Neighbors (KNN) を使用して、検索インデックス内の同様のベクトルを検索します。
ベクター フィルター 情報の取得中に、クエリの実行前または実行後にフィルターを適用して、精度を高める。
ハイブリッド情報の取得 1 つの ハイブリッド クエリ要求で概念とキーワードを検索します。

ハイブリッド検索 では、ベクター検索とテキスト検索が統合され、オプションのセマンティック ランク付けと関連性のチューニングによって最適な結果が得られます。
データの分割とベクトル化の統合 テキスト分割スキルによるネイティブなデータチャンク化。 vectorizers によるネイティブ ベクター化と、Azure OpenAI Embedding Azure Vision multimodal、および AML Microsoft Foundry モデル カタログ内のエンドポイントへの接続に使用できます。

統合ベクター化 は、ソース ファイルからクエリへのエンドツーエンドのインデックス作成パイプラインを提供します。
統合ベクター圧縮と量子化 組み込みのスカラー量子化とバイナリ量子化を使用して、メモリおよびディスク上のベクター インデックス サイズを小さくします。 また、不要なベクターの格納を省略したり、狭いデータ型をベクター フィールドに割り当ててストレージ要件を減らすこともできます。

従来のフルテキストとその他のクエリ フォーム

カテゴリ 機能
自由形式のテキスト検索 フルテキスト検索 は、ほとんどの検索ベースのアプリの主なユース ケースです。 クエリは、サポートされている構文を使用して作成できます。

単純なクエリ構文 では、論理演算子、語句検索演算子、サフィックス演算子、優先順位演算子が提供されます。

完全な Lucene クエリ構文 には、あいまい検索、近接検索、用語ブースト、正規表現の拡張機能を含む、単純な構文のすべての操作が含まれています。
関連 Azure AI 検索 の主な利点は、シンプルな採点です。 スコアリング プロファイルを使用して、ドキュメント自体の値の関数として関連性をモデル化します。 たとえば、新しい製品や割引された製品を検索結果の上位に表示したい場合があります。 また、個別に追跡および保存する顧客の検索設定に基づいて、パーソナライズされたスコアリング用のタグを使用してスコアリング プロファイルを作成することもできます。

セマンティック ランカー は、クエリに対するセマンティック関連性に基づいて結果を再ランク付けするプレミアム機能です。 コンテンツとシナリオに応じて、最小限の構成または労力で検索の関連性を大幅に向上させることができます。
地理空間検索 地理空間関数は 、地理座標をフィルター処理して一致させます。 距離で一致させるか、多角形に含めることによって一致させることができます。
フィルターとファセット ファセット ナビゲーション は、1 つのクエリ パラメーターを使用して有効になります。 Azure AI 検索は、カテゴリ リストの背後にあるコードとして使用できるファセット ナビゲーション構造を返します(たとえば、価格範囲やブランドでカタログアイテムをフィルター処理する場合など)。

フィルター を使用して、ファセット ナビゲーションをアプリケーションの UI に組み込み、クエリの定式化を強化し、ユーザーまたは開発者が指定した条件に基づいてフィルター処理できます。 OData 構文を使用してフィルターを作成します。
ユーザー エクスペリエンス オートコンプリート は、検索バーの先行入力クエリに対して有効にすることができます。

検索候補は、検索 バーの部分的なテキスト入力でも機能しますが、結果はクエリ用語ではなく、インデックス内の実際のドキュメントです。

シノニムは、 ユーザーが代替用語を指定しなくても、クエリのスコープを暗黙的に拡張する同等の用語を関連付けます。

ヒット強調表示では、 検索結果の一致するキーワードにテキストの書式設定が適用されます。 強調表示されたスニペットを返すフィールドを選択できます。

ソートは、インデックス スキーマを介して複数のフィールドに対して提供されており、クエリ時に単一の検索パラメーターで切り替え可能です。

ページング と検索結果の制限は、Azure AI 検索の微細なコントロールを使って簡単に実行できます。

セキュリティ機能

カテゴリ 機能
ネットワーク セキュリティ 受信ファイアウォールサポートの IP 規則 を使用すると、検索サービスが要求を受け入れる IP 範囲を設定できます。

Azure Private Link を使用してプライベート エンドポイントを作成し、すべての要求を仮想ネットワーク経由で強制します。

Network セキュリティ境界 のサポートを使用すると、他のAzure リソースを含むネットワーク セキュリティ境界にAzure AI 検索を結合して、ネットワーク アクセスを包括的に管理できます。
データ暗号化 Microsoft マネージドの保存時暗号化 は内部ストレージ層に組み込まれており、取り消しできません。

作成して管理するCustomer マネージド暗号化キー (CMK)Azure Key Vaultインデックスとシノニム マップの補足的な暗号化に使用できます。 2020 年 8 月 1 日以降に作成されたサービスの場合、インデックス付きコンテンツの完全な二重暗号化のために、CMK 暗号化は一時ディスク上のデータに拡張されます。
インバウンドアクセス Role ベースのアクセス制御は、検索コンテンツと操作へのアクセスを制御するために、Microsoft Entra IDのユーザーとグループにロールを割り当てます。 ロールの割り当てを使用しない場合は、 キーベースの認証 を使用することもできます。

ドキュメント レベルのアクセス制御 (プレビュー) では、ユーザーが表示を許可されていない検索結果が除外されます。 複数のデータ ソースについて、データ ソースがアクセス制御モデルを提供する場合は、ユーザーアクセス許可メタデータを継承するようにインデックスを構成できます。
送信セキュリティ(インデックス作成プログラム) プライベート エンドポイント経由のデータ接続 を使用すると、インデクサーはAzure Private Linkで保護されているAzure リソースに接続できます。

マネージド ID を介したデータ接続 Microsoft Entra セキュリティ プリンシパルを使用してAzure リソースへの接続を認証します。 これにより、ハードコーディングされた API キーのストレージと受け渡しが不要になります。

信頼された ID を使用したデータ アクセス は、外部データ ソースへの接続文字列を意味しますでは、ユーザー名とパスワードを省略できます。 インデクサーがデータ ソースに接続すると、検索サービスが以前に信頼されたサービスとして登録されていた場合(Azure Storageにのみ適用されます)、リソースは接続を許可します。

ポータルの機能

カテゴリ 機能
プロトタイプ作成と検査のためのツール add index は、属性付きフィールドとその他のいくつかの設定で構成される基本的なスキーマを作成するために使用できる、Azure ポータルのインデックス デザイナーです。 インデックスを保存した後、SDK または REST API を使用してインデックスを設定してデータを提供できます。

データのインポート は、キーワード検索と RAG シナリオ用に、インデックス、インデクサー、スキルセット、データ ソース定義など、エンドツーエンドのインデックス作成パイプラインを構築するウィザードです。 RAG の場合、データ チャンクとベクター化も処理します。 データがAzureに存在する場合、このウィザードを使用すると、特に概念実証の調査と探索のために、大幅な時間と労力を節約できます。

検索エクスプローラー は、クエリをテストし、スコアリング プロファイルを絞り込むために使用されます。

デモ アプリの作成 は、検索エクスペリエンスのテストに使用できる HTML ページを生成するために使用されます。

デバッグ セッション は、スキルセットを対話形式でデバッグできるビジュアル エディターです。 依存関係、出力、変換が表示されます。
監視と診断 監視機能を有効にすると、Azure ポータルに常に表示されるメトリックを超えた情報が得られます。 1 秒あたりのクエリ、待機時間、調整に関するメトリックは、追加の構成を必要とせず、ポータル ページでキャプチャおよび報告されます。

プログラマビリティ

カテゴリ 機能
REST サービス REST API は、インデックス作成、クエリ、AI エンリッチメント、エージェント検索に関連するすべての操作を含む、データ プレーン操作用です。 このクライアント ライブラリを使用して、システム情報と統計情報を取得することもできます。

Management REST API は、Azure Resource Managerによるサービスの作成とプロビジョニング用です。 この API を使用して、キーと容量を管理することもできます。
.NETのAzure SDK Azure。Search.Documents は、インデックス作成、クエリ、AI エンリッチメントに関連するすべての操作を含む、データ プレーン操作用です。 このクライアント ライブラリを使用して、システム情報と統計情報を取得することもできます。

Microsoft.Azure。Management.Search は、Azure Resource Managerによるサービスの作成とプロビジョニングを目的とします。 この API を使用して、キーと容量を管理することもできます。
JavaのAzure SDK com.azure.search.documents は、インデックス作成、クエリ、AI エンリッチメントに関連するすべての操作を含む、データ プレーン操作用です。 このクライアント ライブラリを使用して、システム情報と統計情報を取得することもできます。

com.microsoft.azure.management.search は、Azure Resource Managerを介したサービスの作成とプロビジョニング用です。 この API を使用して、キーと容量を管理することもできます。
PythonのAzure SDK azure-search-documents は、インデックス作成、クエリ、AI エンリッチメントに関連するすべての操作を含む、データ プレーン操作用です。 このクライアント ライブラリを使用して、システム情報と統計情報を取得することもできます。

azure-mgmt-search は、Azure Resource Managerを介したサービスの作成とプロビジョニング用です。 この API を使用して、キーと容量を管理することもできます。
JavaScript/TypeScript のAzure SDK azure/search-documents は、インデックス作成、クエリ、AI エンリッチメントに関連するすべての操作を含む、データ プレーン操作用です。 このクライアント ライブラリを使用して、システム情報と統計情報を取得することもできます。

azure/arm-search は、Azure Resource Managerによるサービスの作成とプロビジョニング用です。 この API を使用して、キーと容量を管理することもできます。