重要
現在、この機能はパブリック プレビュー段階にあります。 このプレビュー バージョンはサービス レベル アグリーメントなしで提供されており、運用環境のワークロードに使用することは推奨されません。 特定の機能はサポート対象ではなく、機能が制限されることがあります。
詳しくは、Microsoft Azure プレビューの追加使用条件に関するページをご覧ください。
この記事では、取得拡張生成 (RAG) の実行に使用できる Azure Machine Learning のベクター ストアについて説明します。 ベクター ストアには埋め込みがあり、これは数値シーケンスに変換された概念 (データ) の数値表現です。 埋め込みを使用すると、大規模な言語モデル (LLM) が概念間の関係を理解できます。 ベクター ストアを作成して、GPT-4 などの LLM にデータを接続し、効率的にデータを取得できます。
Azure Machine Learning では、RAG ワークフローで使用される補足データを含めるための次の 2 つのベクター ストアがサポートされています。
ベクトル ストア | 説明 | 機能と用途 |
---|---|---|
Faiss | オープンソース ライブラリ | - ローカル ファイル ベースのストアを使用します - 最小限のコストが発生する - ベクターのみのデータをサポートします - 開発とテストをサポート |
Azure AI Search | Azure PaaS リソース | - 検索インデックスにテキスト データを格納します - 1 つのサービスで多数のインデックスをホストする - エンタープライズ レベルのビジネス要件をサポートします - ハイブリッド情報の取得を提供します |
以降のセクションでは、これらのベクター ストアを使用するための考慮事項について説明します。
Faiss ライブラリ
Faiss は、ローカル ファイルベースのストアを提供するオープンソース ライブラリです。 ベクター インデックスは、Azure Machine Learning ワークスペースの Azure ストレージ アカウントに格納されます。 Faiss を使用するには、ライブラリをダウンロードし、ソリューションのコンポーネントとして使用します。 インデックスはローカルに格納されるため、コストは最小限です。
Faiss ライブラリをベクター ストアとして使用して、次のアクションを実行できます。
インデックスを作成するためのコストなしでベクター データをローカルに格納する (ストレージ コストのみが適用されます)
メモリ内でインデックスを作成してクエリを実行する
個々の使用のためにコピーを共有し、アプリケーションのインデックスのホスティングを構成する
インデックスを読み込むときに基になるコンピューティングを使用してスケーリングする
Azure AI 検索
Azure AI Search は、Azure サブスクリプションで作成する専用の Azure PaaS リソースです。 このリソースは、検索インデックスに格納されているベクター データとテキスト データに対する情報取得をサポートします。 プロンプト フローでは、Azure AI Search に保存されているベクター データの作成、設定、クエリ実行を行うことができます。 1 つの検索サービスで多数のインデックスをホストできます。これは、クエリを実行して RAG パターンで使用できます。
ベクター ストアに対する Azure AI Search の使用に関する重要なポイントを次に示します。
スケール、セキュリティ、可用性に関するエンタープライズ レベルのビジネス要件をサポートします。
ハイブリッド情報の取得を提供します。 ベクター データは、非ベクター データと共存できます。つまり、ハイブリッド検索やセマンティック再ランク付けなど、インデックス作成とクエリに任意の Azure AI 検索の機能を使用できます。
ベクターのサポートはプレビュー段階です。 現時点では、ベクターは外部で生成してから、インデックス付けとクエリ エンコードのために Azure AI Search に渡す必要があります。 プロンプト フローが利用者のためにこれらの遷移を処理します。
Azure Machine Learning のベクター ストアとして Azure AI Search を使用するには、 検索サービスが必要です。 サービスが存在し、開発者にアクセス権を付与したら、プロンプト フローでベクター インデックスとして Azure AI Search を選択できます。 プロンプト フローでは、Azure AI Search にインデックスが作成され、ソース データからベクターが生成され、ベクターがインデックスに送信され、Azure AI Search で類似性検索が呼び出され、応答が返されます。