Azure AI Search とは
Azure AI 検索 (旧称 "Azure Cognitive Search") は、あらゆる規模のハイパフォーマンス アプリケーション向けに構築され、高度な検索テクノロジの包括的なセットを備えた、エンタープライズ対応の検索および取得システムです。
Azure AI 検索は、Azure 上で RAG ベースのアプリケーションを構築する場合に主に推奨される検索システムであり、Azure OpenAI Service と Azure Machine Learning 間のネイティブ LLM 統合を備えています。
Azure AI 検索は、従来のシナリオと GenAI シナリオの両方で使用できます。 一般的なユース ケースとして、ナレッジベースの分析情報 (カタログまたはドキュメント検索)、情報検出 (データ探索)、取得拡張生成 (RAG)、自動化などがあります。
検索サービスを作成するときは、次の機能を使用します。
- ベクトル検索用の検索エンジンおよび検索インデックスに対するフルテキスト検索とハイブリッド検索
- 統合型データ チャンキングとベクトル化、テキストの字句解析、コンテンツの抽出と変換のためのオプションの Applied AI によるリッチなインデックス作成
- ベクター クエリ、テキスト検索、ハイブリッド クエリ、あいまい検索、オートコンプリート、地理空間検索などに対応した豊富なクエリ構文
- セマンティックランク付け、スコアリング プロファイル、ベクトル クエリの量子化、実行時のクエリ動作を制御するためのパラメーターを使用した、関連性とクエリのパフォーマンス チューニング
- Azure のスケール、セキュリティ、リーチ
- データ レイヤー、機械学習レイヤー、Azure AI サービス、Azure OpenAI での Azure 統合
アーキテクチャ上、検索サービスは、インデックスが設定されていないデータを含む外部データ ストアと、検索インデックスにクエリ要求を送信して応答を処理するクライアント アプリとの間に配置されます。
クライアント アプリでは、検索エクスペリエンスは Azure AI Search の API を使用して定義され、関連性のチューニング、セマンティック ランク付け、オートコンプリート、同意語の一致、あいまい一致、パターン マッチング、フィルター、並べ替えを含めることができます。
Azure プラットフォーム全体で、Azure AI Search は、他の Azure サービスと統合できます。その形式は、Azure データ ソースからのデータのインジェストと取得を自動化するインデクサー、および Azure AI サービスで提供されている消費型 AI (画像や自然言語処理など) や Azure Machine Learning 内で作成したり Azure Functions 内にラップしたりするカスタム AI を組み込んだスキルセットです。
検索サービスの内部
検索サービス自体は、"インデックスの作成" と "クエリの実行" の 2 つが主なワークロードとなります。
インデックス作成は、取り込みのプロセスです。コンテンツを検索サービスに読み込んで検索可能にします。 内部では、受信テキストはトークンに処理され、反転インデックスに保存され、受信ベクトルはベクトル インデックスに保存されます。 Azure AI Search でインデックスを付けられるドキュメント形式は JSON です。 作成した JSON ドキュメントをアップロードすることや、インデクサーを使用してデータを取得して JSON にシリアル化することができます。
スキルセットによる Applied AI により、画像モデルと言語モデルを使用したインデックス作成が拡張されます。 ソース ドキュメントに画像や大きな非構造化テキストがある場合は、OCR の実行、画像の分析や説明、構造の推測、テキストの翻訳などを行うスキルをアタッチできます。 出力は、JSON にシリアル化でき、検索インデックスに取り込むことができるテキストです。
また、スキルセットは、インデックス作成時のデータのチャンキングとベクトル化を実行することもできます。 Azure OpenAI にアタッチするスキル、Azure AI Studio のモデル カタログ、または外部チャンクおよび埋め込みモデルにアタッチするカスタム スキルは、インデックス作成中にベクトル データを作成するために使用できます。 出力は、検索インデックスに取り込むことができるチャンク ベクトル コンテンツです。
クエリの実行は、検索可能なテキストがインデックスに取り込まれると、クライアント アプリが検索サービスにクエリ要求を送信して応答を処理するときに発生することがあります。 すべてのクエリは、ユーザーが制御する検索インデックスを介して実行されます。
セマンティック ランク付けは、クエリ実行の拡張機能です。 言語理解を使用して結果セットを再評価して、二次ランク付けが追加され、セマンティック的に最も関連性の高い結果が先頭にレベル上げされます。
垂直統合は、クエリ実行の拡張機能でもあります。 検索インデックスにベクトル フィールドがある場合は、クエリ時に生のベクトル クエリまたはベクトル化されたテキストを送信できます。
Azure AI Search を使用する理由
Azure AI Search は、次のアプリケーション シナリオに適しています。
従来のフルテキスト検索や次世代型のベクトル類似性検索に使用できます。 キーワード検索と類似性検索の両方の強みを活用した情報取得で生成 AI アプリを支援します。 両方のモダリティを使用して、最も関連性の高い結果を取得します。
異種コンテンツを、ベクトルとテキストで構成されるユーザーが定義および設定した検索インデックスに統合します。 検索可能なコンテンツの所有権とコントロールを保持します。
生成 AI および RAG アプリ用にデータ チャンクとベクトル化を統合する。
ドキュメント レベルで細分性の高いアクセス制御を適用します。
インデックス作成とクエリワークロードを専用の検索サービスにオフロードします。
関連性のチューニング、ファセット ナビゲーション、フィルター (地理空間検索)、同意語マッピング、オートコンプリートなど、検索に関連した機能を容易に実装。
Azure Blob Storage や Azure Cosmos DB に格納されている未区分の大きなテキスト ファイル、画像ファイル、またはアプリケーション ファイルを検索可能なチャンクに変換。 これは、Azure AI から外部処理を追加する AI スキルを使ってインデックスを作成するときに行われます。
言語分析またはカスタム テキスト分析を追加。 英語以外のコンテンツがある場合、Azure AI Search では Lucene アナライザーと Microsoft の自然言語プロセッサの両方がサポートされます。 また、生コンテンツの特殊な処理 (分音記号のフィルター処理や、文字列内のパターンの認識と保持など) を実行するようにアナライザーを構成することもできます。
特定の機能の詳細については、「Azure AI Search の機能」を参照してください。
ファースト ステップ
機能は、Azure portal、シンプルな REST API、または Azure SDK for .NET などの Azure SDK を使用して公開されます。 Azure portal は、インデックスとスキルセットのプロトタイプ作成やクエリを実行するためのツールによるサービスの管理とコンテンツの管理をサポートしています。
Azure portal を使用する
次の 4 つのステップにより、主要な検索機能をエンド ツー エンドで試すことができます。
レベルとリージョンを決定します。 サブスクリプションごとに 1 つだけ無料 Search サービスが許可されます。 すべてのクイックスタートは、Free レベルで完了できます。 さらに容量と機能が必要な場合は、有料のレベルが必要です。
[データのインポート] ウィザードから開始します。 組み込みのサンプルまたはサポートされているデータ ソースを選ぶと、インデックスの作成、ロード、クエリを数分で実行できます。
API の利用
また、検索インデックスの作成、読み込み、クエリをアトミックな手順で行うこともできます。
ポータル、REST API、.NET SDK、または他の SDK を使用して検索インデックスを作成します。 検索可能なコンテンツの構造は、インデックス スキーマによって定義されます。
"プッシュ" モデルを使用して任意のソースから JSON ドキュメントをプッシュしてコンテンツをアップロードします。または、ソース データがサポートされる型である場合は "プル" モデル (インデクサー) を使用します。
ポータルの検索エクスプローラー、REST API、.NET SDK、または他の SDK を使用して、インデックスを照会します。
アクセラレータを使用する
または、ソリューション アクセラレータを試してみてください。
データとのチャット ソリューション アクセラレータ コンテンツに対するカスタム RAG ソリューションを作成するのに役立ちます。
会話型ナレッジ マイニング ソリューション アクセラレータは、対話形式のソリューションを作成し、連絡後のセンターのトランスクリプトから実践的な分析情報を抽出するのに役立ちます。
「独自のコパイロット ソリューション アクセラレータを構築する」では、Azure OpenAI Service、Azure AI 検索、Microsoft Fabric を活用することで、カスタム コパイロット ソリューションを作成します。
汎用コパイロットを使用すると、独自のコパイロットを構築して関連するドキュメントを特定し、構造化されていない情報を要約し、独自のデータを使用して Word ドキュメント テンプレートを生成できます。
Client Advisor では、オールインワンのカスタム コパイロットにより、構造化データと非構造化データの両方で生成 AI の能力を活用できます。 お客様が毎日のタスクを最適化し、より多くのクライアントとより良いやり取りを行えるよう支援します。
Research Assistant により、独自の AI アシスタントを構築して、関連するドキュメントを特定し、膨大な量の非構造化情報を集計して分類し、ドキュメントの全体的なレビューとコンテンツの生成を高速化できます。
ヒント
複雑なソリューションやカスタム ソリューションについては、Azure AI Search テクノロジにおける深い専門知識を持つパートナーにお問い合わせください。
検索オプションの比較
お客様から、Azure AI Search は他の検索関連のソリューションと比較してどうなのかについてよくお問い合わせいただきます。 主な相違点を次の表に示します。
比較対象 | 主な相違点 |
---|---|
Microsoft Search | Microsoft Search は、SharePoint 内のコンテンツに対してクエリを実行する必要がある、Microsoft 365 の認証済みユーザーを対象としています。 Azure AI Search は、Azure および任意の JSON データセット全体からコンテンツをプルします。 |
Bing | Bing API では、Bing.com のインデックスに対してクエリを実行して一致する語句を検索します。 Azure AI Search では、ユーザーのコンテンツが入力されたインデックスを検索します。 データ インジェストとスキーマを制御するのはユーザーです。 |
データベース検索 | Azure SQL には、フルテキスト検索とベクトル検索があります。 Azure Cosmos DB にも、テキスト検索とベクトル検索があります。 Azure AI Search は、関連性のチューニングなどの機能、または異種ソースからのコンテンツが必要な場合に魅力的な選択肢になります。 リソース使用率も、別途考慮する必要があります。 インデックス作成とクエリは、計算負荷が高くなります。 DBMS から検索をオフロードすることにより、トランザクション処理用のシステム リソースが保持されます。 |
専用の検索ソリューション | 全機能を持つ専用の検索を使用することにした場合、最終的なカテゴリ比較は検索テクノロジ間で行われます。 情報取得とコンテンツ ナビゲーションの両方を主に検索に依存するアプリを使用する場合、Azure AI Search は、Azure 上のコンテンツに対するベクター、キーワード、ハイブリッド ワークロードの点でクラウド プロバイダーの中でも最強です。 |
以下のような大きな強みがあります。
- ベクトルおよび非ベクトル (テキスト) のインデックス作成とクエリのサポート。 ベクトル類似性検索を使用すると、検索語句が完全に一致しない場合でも、検索クエリと意味的に類似した情報を見つけることができます。 キーワード検索とベクトル検索の長所を最大限に生かすには、ハイブリッド検索を使用します。
- セマンティック ランク付けとスコアリング プロファイルによるランク付けと関連性のチューニング。 クエリ構文では、用語ブーストとフィールドの優先順位付けがサポートされます。
- インデックス層での Azure データ統合 (クローラー)。
- コンテンツのテキストとベクターを検索可能にする変換のための Azure AI 統合。
- 信頼された接続用の Microsoft Entra セキュリティと、インターネットなしのシナリオでのプライベート接続用の Azure Private Link。
- 完全な検索エクスペリエンス: 56 言語での言語分析およびカスタム テキスト分析。 ファセット、オートコンプリート クエリ、候補の結果、シノニム。
- Azure のスケール、信頼性、グローバルなリーチ。