Azure AI 検索を使用して RAG ソリューションを構築する方法
このチュートリアル シリーズでは、Azure AI 検索で RAG ソリューションを構築するためのパターンを見ていきます。 Azure AI 検索に組み込まれているコンポーネント、依存関係、および関連性を最大化し、コストを最小限に抑えるための最適化について説明します。
サンプル データは、Azure Storage にアップロードされた PDF のコレクションです。 この内容は NASA の「地球」という無料の電子書籍からのものです。
サンプル コードはこちらの Python ノートブックにありますが、このシリーズの記事はコンテキスト、分析情報、代替アプローチを調べる場合に使用することをお勧めします。
このシリーズの演習
埋め込みとチャットのモデルを選択する
会話検索用のインデックスを設計する
検索可能なコンテンツの読み込み、チャンク化、埋め込み、取り込みを行うインデックス作成パイプラインを設計する
クエリとチャット モデルを使って検索可能なコンテンツを取得する
関連性を最大にする
ストレージとコストを最小にする
複雑さを減らすため、RAG パターンのいくつかの側面を省略しました。
チャット履歴とコンテキストの管理はありません。 通常、チャット履歴はグラウンディング データとは別に格納および管理され、これは手順とコードが増えることを意味します。 このチュートリアルでは、LLM と既定の LLM エクスペリエンスからのアトミックな質問と回答を想定しています。
結果に対するユーザー セキュリティのユーザーごとの制御はありません ("セキュリティによるトリミング" と言います)。 詳細とリソースについては、セキュリティによるトリミングから始めて、記事の最後にあるリンクを確認してください。
このシリーズでは、RAG ソリューションの開発の基礎について説明します。 基本を理解したら、アクセラレータや他のコード サンプルに進んでください。より高いレベルの抽象化を提供するものや、それ以外で運用環境やより複雑なワークロードに適したものがあります。
RAG に Azure AI 検索を使用する理由
チャット モデルには、要求で受け入れられるデータの量に関して制約があります。 LLM に渡されるコンテンツの "品質" が RAG ソリューションの成功を左右する可能性があるため、Azure AI 検索を使う必要があります。
チャット モデルに最高品質の入力を提供するため、Azure AI Search は、AI 統合と包括的な関連性チューニングを含むクラス最高の検索エンジンを備えています。 検索エンジンでは、ベクトル類似性検索 (複数のアルゴリズム)、キーワード検索、あいまい検索、地理空間検索、フィルターがサポートされています。 これらのコンポーネントをすべて含むハイブリッド クエリ要求を作成でき、各クエリが要求全体にどの程度寄与するかを制御できます。