0 / 0
資料の 英語版 に戻る
RAGパターンを自動化する AutoAI
最終更新: 2025年1月29日
RAGパターンを自動化する AutoAI

AutoAI を使用して、お客様のデータとユースケースに基づいて、最適化された実用レベルのRAG(Retrieval-augmented generation)パターンを自動的に検索し、高速化します。

データ・フォーマット
PDF、HTML、DOCX、MD、またはプレーンテキスト形式の文書コレクションファイル
JSON形式の質問と回答を含むテストデータ
データファイルの制限
ドキュメントコレクションは最大20ファイルまたはフォルダ
テストデータ用のJSONファイル1つ
環境サイズ
大規模: 8 個の CPU および 32 GB の RAM

検索補強型生成で正確な回答を提供

検索補強型生成(RAG)は、大規模な言語モデルの生成能力と、根拠となる文書コレクションの精度を組み合わせたものである。 RAGアプリケーションとのやりとりはこのパターンに従う:

  1. ユーザーがアプリに質問を投稿する。
  2. 検索はまず、根拠となる文書群から関連するコンテキストを検索する。
  3. 付随する大規模な言語モデルは、関連する情報を含む回答を生成する。

例えば、この機能で提供されるサンプルノートブックでは、watsonx.ai Pythonクライアントライブラリの製品ドキュメントを、watsonx.aiソリューションのコーディングに関する Q&A アプリの基礎資料として使用しています。 パターン・ユーザーは、生成AIモデルが文脈を追加し、自然言語で答えを提示することで、ドキュメントから特定の関連情報を得ることができる。

検索機能付き生成がどのように質問と回答のアプリケーションを向上させるかについての完全な説明と例については、検索機能付き生成(RAG)を参照してください。

最適なRAGコンフィギュレーションの自動検索

RAGには、どの大規模言語モデルを選択するか、接地文書をどのようにチャンクするか、どれだけの文書を検索するかなど、多くの設定パラメータが用意されている。 別のユースケースではうまくいく構成選択も、あなたのデータにとってはベストな選択ではないかもしれない。 データセットに最適なRAGパターンを作成するために、RAG設定オプションの可能なすべての組み合わせを探索し、最適なソリューションを見つけ、評価し、展開することができる。 このプロセスには、多大な時間とリソースの投資が必要となる。 機械学習モデルを迅速にトレーニングして最適化するために AutoAI を使用できるように、AutoAI 機能を使用して、データとユースケースに基づいて最適な RAG ソリューションの検索を自動化できます。 実験を加速させることで、生産までの時間を劇的に短縮することができる。

AutoAIアプローチの主な特徴は以下の通り:

  • 制約のある設定オプションの完全な探索と評価.
  • 何か変更があった場合、迅速にコンフィギュレーションを再評価し、修正する。 たとえば、新しいモデルが利用可能になったときや、評価結果が回答の質に変化をもたらしたときに、トレーニングプロセスを簡単に再実行することができます。

AutoAI を使用すると、実験からデプロイまでのエンドツーエンドのフローが自動化されます。 次の図は、AutoAI による、データとユースケースに最適化された RAG パターンを見つけるためのアプローチを 3 つのレイヤーに分けて示しています:

  • 基本レベルでは、パラメータ化されたRAGパイプラインが使用され、ベクターストア(インデックス)を作成し、大規模言語モデルが応答を生成する際に使用するベクターストアからデータを取得する。
  • 次に、RAG評価指標とベンチマーキング・ツールが、回答の質を評価する。
  • 最後に、ハイパーパラメータ最適化アルゴリズムが、データに最適なRAGコンフィギュレーションを検索します。

AutoAI SDKでRAGパターンを自動化する

AutoAI RAG最適化プロセス

AutoAIRAGを使用して実験を実行すると、ハイパーパラメータ最適化アルゴリズムを使用することにより、すべてのRAG設定オプションのテストを回避することができます(例えば、グリッド検索を回避することができます)。 以下の図は、16のRAGパターンから選択できるRAGコンフィギュレーション検索空間のサブセットを示している。 実験がそれらすべてを評価した場合、1~16のランク付けが行われ、最高ランクの3つのコンフィギュレーションがベストパフォーマンスとしてタグ付けされる。 最適化アルゴリズムは、どのRAGパターンのサブセットを評価するかを決定し、灰色で示されている他のパターンの処理を停止する。 この処理により、指数関数的な探索空間の探索を回避しつつ、よりパフォーマンスの高いRAGパターンを実際に選択することができる。

RAGパターンの最適化プロセスの自動化

RAGパターンの検索を自動化するには、ファストパスを使用します

AutoAIは、RAGパターンの検索を自動化するためのコード不要のソリューションを提供します。 ファストパスを使用するには、プロジェクトから開始し、 AutoAIのインターフェイスを使用して、接地とテストの文書をアップロードします。 デフォルト設定を受け入れるか、実験設定を更新する。 あなたのユースケースに最適なRAGパターンを作成するために実験を実行する。

RAGパターンのコーディングにAutoAISDKを使用する

サンプルノートブックを使用して、watsonx.ai Python クライアントライブラリ (バージョン 1.1.11 以降) を使用して、ユースケースの自動 RAG ソリューションをコーディングする方法を学んでください。

説明
Chromaデータベースを使ったRAGパターンの自動化
- watsonx.ai Python SDKのドキュメントファイルをRAGパターンの基礎ドキュメントとして使用します。
- ベクター化されたコンテンツを、デフォルトのインメモリChromaデータベースに格納します
MilvusでRAGパターンを自動化 - watsonx.ai Python SDK ドキュメント ファイルを RAG パターンの基礎ドキュメントとして使用します。
- ベクトル化されたコンテンツを外部の Milvus データベースに保存します

サポートされる機能

AutoAI RAG プロセスのベータ版リリースで提供される機能について、これらの詳細を確認してください。

機能 説明
対応インターフェース API
グランド・ドキュメント収集のためのファイル形式 PDF、HTML、DOCX、プレーンテキスト
文書収集のためのデータ接続 IBM Cloud Object Storage (バケット)
バケット内のフォルダ
ファイル(最大20個)
データ・フォーマットのテスト 固定スキーマのJSON (フィールド: - question, correct_answer, correct_answer_document_ids)
テストデータ用データ接続 IBM Cloud Object Storage(単一の JSON ファイル) '
プロジェクトまたはスペース(データ資産)内の単一の JSON ファイル '
NFSストレージ・ボリューム内の単一の JSON ファイル
チャンク化 64-1024文字の複数のプリセット '
グラウンディング文書は、最適化されたサイズとオーバーラップでチャンクに分割されます。
モデルの組み込み watsonx.aiで利用可能な埋め込みモデル
ベクトル・ストア Milvus ChromaDB
チャンク増加 有効(ドキュメントから周囲のチャンクを追加する)
検索タイプ スタンダード(単一インデックス)
生成モデル タスク別の財団モデルを見る
サンプリング ベンチマーク・ドリブン(最初に問題を選択し、次に文書を選択し、限界までランダムなもので埋める)
検索アルゴリズム ハイパーパラメータの最適化にはhyperoptライブラリのTree Parzen Estimator (TPE)を使用
メトリックス 答えの正しさ、忠実さ、文脈の正しさ。 詳しくは
ユニテキスト語彙ラグ・メトリクス を参照のこと
最適化指標 最適化の対象となる指標。 正答率と忠実度はサポートされている。
カスタマイズ可能なユーザー制約 埋め込みモデル
生成モデル
設定数制限(最大出力パターン数 4~20)
デプロイメント Milvus Milvusベクトルデータベースを使用したインデックス作成と推論AutoAI
Chroma:Chromaインメモリベクトルデータベースを使用したインデックス作成と推論AutoAI

今後のステップ

親トピック 生成的AIソリューションのコーディング