RAG Studioの主要な概念

プレビュー

この機能は プライベート プレビュー段階です。 お試しになるには、Databricks の担当者にお問い合わせください。

別のRAG Studioドキュメントをお探しですか?RAGドキュメントインデックスに移動

伐採

RAG Studioの中核となるのは、常時稼働 📝 Trace ロギングです。 アプリが呼び出されるたびに、RAG Studioは🔗 Chain内で実行されたすべてのアクションの詳細なステップバイステップのログを自動的にキャプチャし、単なる Delta テーブルである🗂️ Request Logに保存します。

このログ記録は、モデルサービングの 推論テーブル 機能に基づいています。

詳細については、 🗂️ Request Log スキーマ を参照してください。

評価

🗂️ Request Logごとに、そのログに👍 Assessment & Evaluation Results Logを関連付けることができます。評価は、その 📝 Trace に関するフィードバックを表します(たとえば、検索されたドキュメントは適切でしたか? 答えは正しかったですか? 等。 各 📝 Trace には、さまざまなソースからの複数の評価( 🧠 Expert Users👤 End Users、または 🤖 LLM Judge

詳細については、 👍 Assessment & Evaluation Results Log スキーマ を参照してください。

オンライン評価

🗂️ Request Log 👍 Assessment & Evaluation Results Logは、👤 End Users🧠 Expert Usersから収集されたフィードバックに基づいてRAGアプリケーションの品質、コスト、およびレイテンシーを理解できるメトリクスをコンピュートするために使用されます。メトリクス計算は 👍 Assessment & Evaluation Results Log テーブルに追加され、 🕵️‍♀️ Exploration & Investigation UIからアクセスできます。

詳細については、 RAG Studioのメトリクス コンピュートをご覧ください。

オフライン評価

オフライン評価では、RAGアプリケーションがサポートする代表的なクエリを含む🗂️ Request Log(オプションで👍 Assessment & Evaluation Results Logからのグラウンドトゥルース回答にリンク)📖 Evaluation Setキュレーションできます。📖 Evaluation Setを使用して、オンライン評価と同じメトリクスをコンピュートしますが、オフライン評価は通常、RAGアプリケーションをユーザーにデプロイする前に、新しいバージョンの品質、コスト、およびレイテンシを評価するために行われます。

バージョン

正確な答えを提供するRAGアプリケーションを作成するには、RAGアプリケーションのエンドツーエンドバージョンと、RAGアプリケーションを構成する個々のコンポーネント(🗃️ Data Processor🔗 Chainなど)のバージョンの両方をすばやく作成して比較できる必要があります。 たとえば、 chunk_size = 500chunk_size = 1000を比較して確認できます。 RAG Studioはロギングバージョンをサポートしており、各バージョンは個々のコンポーネントのコードと構成を表します。

オンラインとオフラインのスキーマを統合

RAG Studioのコアコンセプトは、すべてのインフラストラクチャとデータスキーマ が開発と本番運用の間で統一されていることです。 これにより、 🧠 Expert Usersで新しいバージョンをすばやくテストし、検証後に、同じ計装コードを使用し、両方の環境で同じメトリクスを測定することで、本番運用に展開することができます。

環境

ただし、開発と本番運用で同じインフラストラクチャとスキーマを使用すると、これらの環境の間に曖昧な境界線が生まれる可能性があります。 RAG Studioは、開発者がこれらの環境を明確に分離することが非常に重要であるため、複数の環境をサポートしています。

詳細については、 環境 を参照してください。

主な用語

アプリケーション構成

  • ⚙️ Global Configuration: アプリの名前、アプリがデプロイされている Databricks ワークスペース、資産が格納されている Unity Catalog スキーマ、(必要に応じて) MLflow エクスペリメントとベクター検索エンドポイント。

  • 🤖 LLM Judge構成:RAG Studioによる🤖 LLM Judgeの実行方法の設定。

コンポーネントコードと構成

  • 📥 Data Ingestor:サードパーティのローデータソース(Confluence、Googleドライブなど)からUCボリュームに未加工の非構造化ドキュメントを取り込むデータパイプライン。各 📥 Data Ingestor は、任意の数の 🗃️ Data Processorに関連付けることができます。

  • 🗃️ Data Processor:非構造化ドキュメントを解析し、チャンク化し、📥 Data Ingestorからベクターインデックスに格納されたチャンクに埋め込むデータパイプライン。🗃️ Data Processorは 1+ 📥 Data Ingestorに関連付けられています。

  • 🔍 Retriever:ベクターインデックスから関連するチャンクを取得するロジック。処理ロジックと検索ロジックの依存関係を考えると、 🔍 Retriever は 1+ 🗃️ Data Processors に関連付けられます。 🔍 Retrieverは、ベクターインデックスへの単純な呼び出しから、リランカーを含むより複雑な一連のステップまであります。

  • 🔗 Chain:🔍 Retrieverと生成AIモデルをつなぎ合わせて、ユーザーのクエリ(質問)をボットの応答(回答)に変換するオーケストレーションコード。各 🔗 Chain は 1+ 🔍 Retrievers に関連付けられています。

RAG Studioで生成したデータ

  • 🗂️ Request Log:すべてのユーザークエリとボットの応答など、すべての🔗 Chain呼び出しのステップバイステップの📝 Traceと、その応答を生成するために🔗 Chainが実行した手順の詳細なトレース。

  • 👍 Assessment & Evaluation Results Log:ユーザーが提供または🤖 LLM Judgeしたフィードバック(いいね/低評価、ボットの応答の編集など)は、📝 Traceにリンクされています。RAG Studioの計算評価(別名メトリクス)の結果は、この表の各行に追加されます。

👩‍💻 RAG App Developer によってキュレーションされたデータ

  • 📖 Evaluation Set: 🗂️ Request Log(オプションで、RAGアプリケーションのオフライン評価に使用される代表的な質問/回答を含む関連👍 Assessment & Evaluation Results Log)

  • 📋 Review Set:📖 Evaluation Setを作成するために🧠 Expert Usersのフィードバックを収集する目的で開発者によってキュレーションされた🗂️ Request Log

RAG Studioユーザーインターフェース

  • 💬 Review UI:🧠 Expert Usersからのフィードバックを求めたり、👩‍💻 RAG App Developerがアプリをテストしたりするためのチャットベースの Web アプリ。

  • 🕵️‍♀️ Exploration & Investigation UI:Databricksに組み込まれているUIで、RAGアプリケーションのバージョンに関するコンピュート評価(メトリクス)を表示し、個々の🗂️ Request Log👍 Assessment & Evaluation Results Logを調査します。