取得拡張生成 (RAG) は、大規模な言語モデル (LLM) とリアルタイムのデータ取得を組み合わせて、より正確で up-to-date、コンテキストに関連する応答を生成する強力な手法です。
このアプローチは、独自の情報、頻繁に変更される情報、またはドメイン固有の情報に関する質問に回答する場合に特に有用です。
検索拡張生成とは
最も単純な形式では、RAG エージェントは次の処理を行います。
- 取得: ユーザーの要求は、ベクター ストア、キーワード検索、SQL データベースなどの外部ナレッジ ベースのクエリに使用されます。 目標は、LLM の応答のサポート データを取得することです。
- 拡張: サポート データはユーザーの要求と組み合わされ、多くの場合、追加の書式設定と LLM への指示を含むテンプレートを使用してプロンプトを作成します。
- 生成: プロンプトが LLM に渡され、ユーザーの要求に対する応答が生成されます。
RAG の利点
RAG は、次の方法で LLM を改善します。
- 独自の情報: RAG には、分野固有の質問に回答するためのメモ、メール、ドキュメントなど、最初は LLM のトレーニングに使用されなかった独自の情報を含めることができます。
- 最新の情報: RAG アプリケーションは、更新されたナレッジ ベースからの情報を LLM に提供できます。
- ソースの引用: RAG を使用すると、LLM は特定のソースを引用できるため、ユーザーは応答に関する事実の正確性を確認できます。
- データ セキュリティとアクセス制御リスト (ACL): 取得手順は、ユーザー資格情報に基づいて個人または独自の情報を選択的に取得するように設計できます。
RAG コンポーネント
一般的な RAG アプリケーションには、次のようないくつかの段階があります。
データ パイプライン: ドキュメント、テーブル、またはその他のデータを事前に処理してインデックスを作成し、迅速かつ正確に取得します。
RAG チェーン (取得、拡張、生成): ステップの系列 (またはチェーン) を呼び出して、次の操作を行います。
- ユーザーの質問を理解します。
- サポート データを取得します。
- サポート データを使用してプロンプトを拡張します。
- 拡張プロンプトを使用して LLM から応答を生成します。
評価と監視: RAG アプリケーションを評価して、その品質、コスト、待機時間を判断し、ビジネス要件を満たしていることを確認します。
ガバナンスと LLMOps: データ系列やアクセス制御など、各コンポーネントのライフサイクルを追跡および管理します。
RAG データの種類: 構造化および非構造化
RAG アーキテクチャでは、サポート データとして非構造化データまたは構造化データを使用できます。 RAG で使用するデータは、ユース ケースによって異なります。
非構造化データ: 特定の構造や編成のないデータ。
- Google/Office ドキュメント
- Wiki
- イメージ
- ビデオ
構造化データ: データベース内のテーブルなど、特定のスキーマを使用して行と列に配置された表形式のデータ。
- BI またはデータ ウェアハウス システム内の顧客レコード
- SQL データベースのトランザクション データ
- アプリケーション API (SAP、Salesforce など) からのデータ
評価 & 監視
評価と監視は、RAG アプリケーションが品質、コスト、待ち時間の要件を満たしているかどうかを判断するために役立ちます。 評価は開発中に行い、監視はアプリケーションが運用環境にデプロイされた後に行います。
非構造化データに対する RAG には、品質に影響を与える多くのコンポーネントがあります。 たとえば、データの書式設定の変更は、取得されたチャンクと、関連する応答を生成する LLM の機能に影響を与える可能性があります。 そのため、アプリケーション全体に加えて、個々のコンポーネントを評価することが重要です。
詳細については、「 モザイク AI エージェントの評価 (MLflow 2)」を参照してください。
Databricks 上の RAG
Databricks には、次のような RAG 開発用のエンド ツー エンド プラットフォームが用意されています。
- Delta Lake と Lakeflow 宣言パイプラインを使用した統合データ パイプライン
- Databricks ベクター検索を使用したスケーラブルなベクター検索
- モデルの提供 とオーケストレーション のツール
- パフォーマンスと品質を向上させるための Gen AI 評価
- デプロイされた RAG アプリケーションの Gen AI 監視
- 組み込みのガバナンスとセキュリティについては、「 セキュリティとセキュリティ センターとAI ゲートウェイ」を参照してください。
次のステップ
RAG アプリケーションの主要なコンポーネントであるデータ パイプラインについて説明します。 RAG の非構造化データ パイプラインの構築に関する説明を参照してください
AI プレイグラウンドを使用して、独自の RAG エージェントのプロトタイプを作成します。 AI Playground のプロトタイプ ツール呼び出しエージェント参照してください。
- Agent Bricks を使用する: Knowledge Assistant は、ドキュメント上のチャットボットとして、またダウンストリーム アプリケーションで使用できるエンドポイントとして RAG エージェントを作成します。 ドキュメントに対して高品質のチャットボットを作成するには、「エージェント ブリックの使用: ナレッジ アシスタント」を参照してください。