Azure Cosmos DB での取得拡張生成 (RAG)
取得拡張生成 (RAG) は、大規模言語モデル (LLM) の能力と堅牢な情報取得システムを組み合わせ、より正確でよりコンテキストに関連した応答を作成します。 事前トレーニング済みのデータのみに依存する従来の生成モデルとは異なり、RAG アーキテクチャでは、リアルタイムの情報取得を統合することで LLM の機能が強化されます。 この機能強化により、応答は生成モデルだけでなく、利用可能な最も関連性の高い最新のデータにも基づきます。
ベクトル検索をサポートする運用データベースである Azure Cosmos DB は、RAG を実装するための優れたプラットフォームとして際立っています。 1 つのデータベースで運用と分析の両方のワークロードを処理できる機能と、マルチテナント機能や階層型パーティション キーなどの高度な機能によって、最新式の生成型 AI アプリケーションを構築するための強固な基盤を提供します。
Azure Cosmos DB を使用することの主なメリット
統合されたデータ ストレージと取得
Azure Cosmos DB を使用すると、統合データベース システム内のベクトル検索機能をシームレスに統合できます。 つまり、運用データとベクトル化されたデータが共存するため、個別のインデックス作成システムが不要になります。
リアルタイム データ インジェストとクエリの実行
Azure Cosmos DB では、リアルタイムのインジェストとクエリの実行がサポートされているため、AI アプリケーションに最適です。 これは、データの鮮度が生成される応答の関連性に大きく影響する可能性があるため、RAG アーキテクチャにとって非常に重要です。
スケーラビリティとグローバル分散
大規模なアプリケーション向けに設計された Azure Cosmos DB は、グローバル分散と瞬時の自動スケールを提供します。 これにより、RAG 対応アプリケーションでボリュームの大きいクエリを処理し、ユーザーの場所に関係なく一貫したパフォーマンスを実現できます。
高可用性と信頼性
Azure Cosmos DB では、スループット、待機時間、可用性を考慮した包括的な SLA が提供されます。 この信頼性により、RAG システムを常に使用でき、ダウンタイムを最小限に抑えて応答を生成することができます。
階層パーティション キーを使用したマルチテナント機能
Azure Cosmos DB では、さまざまなパフォーマンスとセキュリティの分離モデルによってマルチテナント機能がサポートされているため、同じデータベース内のさまざまなクライアントまたはユーザー グループのデータを簡単に管理できます。 この機能は、テナント データの分離がセキュリティとコンプライアンスに不可欠な SaaS アプリケーションで特に役立ちます。
包括的なセキュリティ機能
エンド ツー エンドの暗号化、ロールベースのアクセス制御 (RBAC)、仮想ネットワーク (VNet) の統合といった組み込み機能により、Azure Cosmos DB はデータのセキュリティを確保します。 これらのセキュリティ対策は、機密情報を処理するエンタープライズ レベルの RAG アプリケーションに不可欠です。
Azure Cosmos DB を使用した RAG の実装
ヒント
その他の RAG サンプルについては、AzureDataRetrievalAugmentedGenerationSamples を参照してください
Azure Cosmos DB を使用して RAG アプリケーションを構築するための合理化されたプロセスを次に示します。
- データ インジェスト: ドキュメント、イメージ、その他のコンテンツ タイプを Azure Cosmos DB に格納します。 ベクトル検索をサポートするデータベースを利用して、ベクトル化されたコンテンツのインデックス作成と取得を行います。
- クエリ実行: ユーザーがクエリを送信すると、Azure Cosmos DB はベクトル検索機能を使用して最も関連性の高いデータをすばやく取得できます。
- LLM 統合: 取得したデータを LLM (Azure OpenAI など) に渡して応答を生成します。 Cosmos DB によって提供される適切に構造化されたデータにより、モデルの出力の品質が向上します。
- 応答生成: LLM はデータを処理し、包括的な応答を生成します。その後、ユーザーに配信されます。