次の方法で共有


ステップ 2. POC をデプロイして関係者のフィードバックを収集する

この手順の最後には、エージェント評価レビュー アプリがデプロイされ、関係者が POC をテストしフィードバックを提供できるようになります。 関係者の使用状況からの詳細なログとそのフィードバックが、Lakehouse の Delta テーブルに送られます。

RAG アプリケーションの概念実証

要件

このセクションのサンプル コードは GitHub リポジトリを参照してください。

概念実証 RAG アプリケーション

評価主導型の開発の最初の手順は、概念実証 (POC) を構築することです。 POC には次のような利点があります。

  • RAG を使用したユース ケースの実現可能性に関する方向性の見通しを示します
  • 関係者から初期フィードバックを収集して、それにより評価セットの最初のバージョンを作成することが可能になります
  • 品質のベースライン測定を確立し、そこから反復作業を開始します

Databricks では、最も単純な RAG アーキテクチャと Databricks が推奨する各パラメーターの既定値を使用して POC を構築することを推奨しています。

この推奨事項は、RAG アプリケーション内で調整できるパラメーターには数百の組み合わせが考えられるためです。 これらの調整には優に数週間を費やすことができますが、RAG を体系的に評価する前にそれを行うと、いわゆる "POC の悪循環" に陥ってしまいます。つまり、設定を繰り返し行うものの、改善されたかどうかを客観的に知る方法がないまま、関係者がレビューを待ちわびながら無為に時を過ごすという状況になるのです。

このチュートリアルの POC テンプレートは、品質の反復を念頭に置いて設計されています。 これらは、Databricks 研究チームが示した、RAG 品質を向上させるために調整することが重要であるということに基づいてパラメーター化されています。 これらのテンプレートは、"魔法のように RAG を作成する 3 行のコード" ではありませんが、評価主導型の開発ワークフローの以下の手順で品質を調整できる、適切に構造化された RAG アプリケーションです。

これにより、POC を迅速にデプロイできますが、コードを書き直すことなく、高品質のイテレーションに迅速に移行できます。

以下は POC アプリケーションの技術アーキテクチャです。

POC アプリケーションのアーキテクチャ

Note

既定では、POC は Mosaic AI Foundation Model Serving で入手可能なオープンソース モデルを使用します。 ただし、POC は、"あらゆる基盤モデル" をサポートする Mosaic AI Model Serving を使用するため、別のモデルを使用するのは簡単です。Model Serving でそのモデルを構成し、00_config ノートブックの embedding_endpoint_namellm_endpoint_name を置き換えるだけです。

POC をデプロイしてフィードバックを収集する手順

以下の手順では、POC 生成 AI アプリケーションを実行およびデプロイする方法を示します。 デプロイ後、レビュー アプリの URL を取得し、関係者と共有してフィードバックを収集できます。

  1. データ型に基づいて、A_POC_app 内の POC コード フォルダーを開きます。

    • PDF ファイルの場合は、pdf_uc_volume を使用します。
    • PowerPoint ファイルの場合は、pptx_uc_volume を使用します。
    • DOCX ファイルの場合は、docx_uc_volume を使用します。
    • テキスト、マークダウン、HTML コンテンツ、メタデータを含む JSON ファイルには、json_uc_volume を使用します

    データが上記の要件のいずれも満たしていない場合は、上記の POC ディレクトリの 02_poc_data_pipeline 内の解析関数 (parser_udf) をカスタマイズして、ファイルの種類に対応できます。

    POC フォルダー内には、次のノートブックが表示されます。

    ノートブック ファイル

    Note

    これらのノートブックは、選んだ特定の POC に関連しています。 たとえば、00_config への参照が表示され、pdf_uc_volume を選んだ場合、関連する 00_config ノートブックが A_POC_app/pdf_uc_volume/00_config で見つかります。

  2. 必要に応じて、既定のパラメーターを確認します。

    上で選んだ POC ディレクトリ内の 00_config ノートブックを開いて、データ パイプラインと RAG チェーンの POC アプリケーションの既定のパラメーターを表示します。

    重要

    Databricks で推奨される既定のパラメーターは完璧であることを意図したものではありませんが、出発点として利用できます。 このワークフローの次の手順では、これらのパラメーターの反復処理について説明します。

  3. 構成を検証します。

    01_validate_config を実行して、構成が有効であり、すべてのリソースが使用可能であることを確認します。 rag_chain_config.yaml ファイルがディレクトリに表示され、アプリケーションのデプロイに使用されます。

  4. データ パイプラインを実行します。

    POC データ パイプラインは、Apache Spark に基づく Databricks ノートブックです。 02_poc_data_pipeline ノートブックを開き、[すべて実行] を押してパイプラインを実行します。 パイプラインでは次のことを行います。

    • UC ボリュームから未加工のドキュメントを読み込みます
    • 各ドキュメントを解析し、結果を Delta テーブルに保存します
    • 各ドキュメントをチャンク化し、結果を Delta テーブルに保存します
    • Mosaic AI ベクトル検索を使用してドキュメントを埋め込み、ベクトル インデックスを作成します

    データ パイプラインに関するメタデータ (出力テーブルや構成など) は MLflow にログされます。

    データ パイプラインを示す GIF

    ノートブックの下部近くにある Delta テーブルまたはベクトル インデックス出力へのリンクを探すことで、出力を検査できます。

    Vector index: https://<your-workspace-url>.databricks.com/explore/data/<uc-catalog>/<uc-schema>/<app-name>_poc_chunked_docs_gold_index
    
    Output tables:
    
    Bronze Delta Table w/ raw files: https://<your-workspace-url>.databricks.com/explore/data/<uc-catalog>/<uc-schema>/<app-name>__poc_raw_files_bronze
    Silver Delta Table w/ parsed files: https://<your-workspace-url>.databricks.com/explore/data/<uc-catalog>/<uc-schema>/<app-name>__poc_parsed_docs_silver
    Gold Delta Table w/ chunked files: https://<your-workspace-url>.databricks.com/explore/data/<uc-catalog>/<uc-schema>/<app-name>__poc_chunked_docs_gold
    
  5. POC チェーンをレビュー アプリにデプロイします。

    既定の POC チェーンは、LangChain を使用して構築されたマルチターン会話 RAG チェーンです。

    Note

    POC チェーンは、MLflow コードベースのログを使用します。 コードベースのログの詳細については、 「AI エージェントのログと登録」をご覧ください。

    1. 03_deploy_poc_to_review_app ノートブックを開きます

    2. ノートブックの各セルを実行します。

    3. MLflow トレースは、POC アプリケーションがどのように機能するかを示します。 入力した質問をユース ケースに関連するものに調整し、セルを再実行してアプリケーションを "チェック" します。

      MLflow トレースを示す GIF

    4. 既定の手順をユース ケースに合わせて変更します。 これらはレビュー アプリに表示されます。

         instructions_to_reviewer = f"""## Instructions for Testing the {RAG_APP_NAME}'s Initial Proof of Concept (PoC)
      
         Your inputs are invaluable for the development team. By providing detailed feedback and corrections, you help us fix issues and improve the overall quality of the application. We rely on your expertise to identify any gaps or areas needing enhancement.
      
         1. **Variety of Questions**:
            - Please try a wide range of questions that you anticipate the end users of the application will ask. This helps us ensure the application can handle the expected queries effectively.
      
         2. **Feedback on Answers**:
            - After asking each question, use the feedback widgets provided to review the answer given by the application.
            - If you think the answer is incorrect or could be improved, please use "Edit Answer" to correct it. Your corrections will enable our team to refine the application's accuracy.
      
         3. **Review of Returned Documents**:
            - Carefully review each document that the system returns in response to your question.
            - Use the thumbs up/down feature to indicate whether the document was relevant to the question asked. A thumbs up signifies relevance, while a thumbs down indicates the document was not useful.
      
         Thank you for your time and effort in testing {RAG_APP_NAME}. Your contributions are essential to delivering a high-quality product to our end users."""
      
         print(instructions_to_reviewer)
      
    5. デプロイ セルを実行して、レビュー アプリへのリンクを取得します。

      Review App URL: https://<your-workspace-url>.databricks.com/ml/review/<uc-catalog>.<uc-schema>.<uc-model-name>/<uc-model-version>
      
  6. レビュー アプリにアクセスするためのアクセス許可を個々のユーザーに付与します。

    レビュー アプリを使用するためのアクセス許可を設定するの手順に従って、Databricks 以外のユーザーにアクセス権を付与できます。

  7. 自分でいくつかの質問をし、フィードバックを提供して、レビュー アプリをテストします。

    Note

    MLflow トレースとレビュー アプリからのユーザーのフィードバックは、構成したカタログ スキーマの Delta テーブルに表示されます。 これらの Delta テーブルにログが表示されるまでに最大 2 時間かかる場合があります。

  8. レビュー アプリを関係者と共有する

    POC RAG アプリケーションを関係者と共有して、フィードバックを得ることができるようになりました。

    重要

    Databricks では、少なくとも 3 人の関係者に POC を配布し、それぞれ 10 から 20 の質問をしてもらうように提案します。 評価セットに多様な視点を含めることができるように、複数の関係者に POC をテストしてもらうことが重要です。

次のステップ

手順 3.関係者のフィードバックから評価セットをキュレーションする」に進みます。

< 前へ: 手順 1.リポジトリの複製とコンピューティングの作成

次へ: 手順 3.評価セットをキュレーションする >