資料の 英語版 に戻る

RAG実験設定のカスタマイズ

最終更新: 2025年3月05日
RAG実験設定のカスタマイズ

AutoAI,で検索支援型生成ソリューションを構築する場合、実験設定をカスタマイズして結果を調整することができます。

デフォルト設定に基づいてRAG実験を実行した場合、AutoAIプロセスは選択する:

  • 最適なRAGパイプラインを検索する際に最大化される最適化メトリック
  • 利用可能なリストに基づいて試す埋め込みモデル
  • 利用可能なリストに基づいて、試すべきファンデーションモデル

RAG実験をよりコントロールするために、実験設定をカスタマイズすることができます。 必要な実験定義情報を入力した後、Experiment settings をクリックし、実験を実行する前にオプションをカスタマイズする。 見直しや編集が可能な設定は、3つのカテゴリーに分類されます:

  • 取得と生成: RAGパターンの選択を最適化するために使用するメトリック、取得するデータの量、 AutoAI が実験に使用するモデルを選択します。
  • インデックス作成 :データをどのようにチャンクに分割するか、意味的な類似性を測定する際に使用するメトリック、 AutoAI が実験に使用できる埋め込みモデルを選択します。
  • 追加情報: watsonx.ai Runtime インスタンスと実験に使用する環境を確認する。

検索と生成の設定

RAG パイプラインの生成に使用する設定を表示または編集します。

最適化指標

最適なRAGパターンを検索する際には、最大化するメトリックを選択します。 最適化の評価基準とその実装の詳細については、 RAG評価基準を参照してください。

  • Answer faithfulness(回答の正確さ)は、ベクトルストアから取得した文脈に、生成された回答がどの程度一致しているかを測定します。 スコアは、生成されたレスポンストークンのうち、ベクトルストアから取得されたコンテキストに含まれるものの数を数える語彙メトリクスを使用して計算されます。 高いスコアは、その応答が取得されたコンテクストを適切に表現していることを示します。 高い信頼性スコアは、必ずしも回答の正しさを示すものではないことに注意してください。 このメトリックの実装方法の詳細については、「忠実度」 を参照してください。
  • Answer correctnessは、ベンチマークファイルで提供された正解と比較した、生成された回答の正確性を測定します。 これには、取得された文脈の関連性と生成された応答の質が含まれます。 スコアは、生成された応答に含まれる、基準応答トークンの数を数える語彙メトリクスを使用して計算されます。 このメトリックの実装方法の詳細については、「正しさ」 を参照してください。
  • コンテクストの正確性は、ベクトルストアから取得されたコンテクストが、ベンチマークで提供された基準となるコンテクストとどの程度一致しているかを示します。 スコアは、取得されたチャンクの中から、真の文脈のランクに基づいて計算されます。 真実の文脈がリストのトップに近いほど、スコアが高くなります。 メトリクスの実装方法の詳細については、「コンテキストの正確性」を参照してください。最適化メトリクスに関する詳細は、RAGメトリクスを参照してください。

取得方法

関連データを検索する方法を選択します。 検索方法は、文書をフィルタリングしてランク付けする方法が異なる。

  • ウィンドウ取得方法では、元のドキュメントの内容に基づいて、取得したチャンクをそのチャンクの前後に追加のチャンクで囲みます。 この方法は、最初に取得したチャンクでは不足している可能性があるコンテクストを追加するのに便利です。 ウィンドウ取得は、以下の手順で行います
    • 検索: ベクトルストアから最も関連性の高いドキュメントの断片を見つけます。
    • 展開 :見つかった各チャンクについて、その前後にあるチャンクを取得し、文脈を提供します。
    • 各チャンクは、そのシーケンス番号をメタデータに格納します。
    • チャンクを取得した後、同じ文書から隣接するチャンクを取得するために、チャンクのメタデータが使用されます。 例えば、 window_size が 2 の場合、その前に 2 個のチャンクが追加され、後に 2 個のチャンクが追加されます。
    • マージ :ウィンドウ内の重複するテキストを結合し、冗長性を排除します。
    • メタデータ処理 :同じキーを維持し、値をリストにグループ化することで、メタデータ辞書を統合します。
    • リターン: マージされたウィンドウを新しいチャンクとして出力し、元のウィンドウを置き換えます。
  • シンプルな検索方法で、ベクトルストア内の最も関連性の高いチャンクを見つけ出します。

ファンデーション・モデル

By default, all available foundation models that support AutoAI for RAG are selected for experimentation. You can manually edit the list of foundation models that AutoAI can consider for generating RAG patterns. 各モデルについて、「モデルの詳細」 をクリックすると、モデルの詳細を表示またはエクスポートすることができます。

利用可能なファンデーションモデルのリストと説明については、タスク別のファンデーションモデルを参照のこと。

完成させる最大 RAG パターン

実験段階で完了させるRAGパターンの数は、最大20まで指定できます。 より高い数値はより多くのパターンを比較し、より高いスコアのパターンが得られる可能性があるが、より多くの演算リソースを消費する。

インデックス設定

ドキュメントコレクションからテキストベクターデータベースを作成するための設定を表示または編集します。

チャンク化

チャンキング設定は、ベクトルストアにインポートする前に、インデックスされたドキュメントをどのように細分化するかを決定します。 データをチャンク化することで、クエリに最も関連性の高いドキュメント内のチャンクを検索し、取得することができます。 これにより、生成モデルは最も関連性の高いデータのみを処理することができます。

AutoAI RAGは、Langchainの再帰的なテキスト分割機能を使用して、文書をチャンクに分割します。 この方法では、文書を階層的に分解し、すべての段落(そして文、そして単語)を可能な限り一緒に保ったまま、チャンクが要求されたチャンクサイズよりも小さくなるまで、この処理を繰り返します。 再帰的チャンキング方法の詳細については、Langchainのドキュメントの 「文字単位で再帰的に分割された取得 」を参照してください。

データをどのように最適に分割するかは、ユースケースによって異なります。 より小さなチャンクはテキストとのより細かいインタラクションを提供し、関連性の高いコンテンツをより絞り込んだ検索を可能にします。一方、より大きなチャンクはより多くのコンテクストを提供することができます。 チャンキングのユースケースでは、1つ以上のオプションを指定します

  • 各データチャンクに含める文字の数。
  • チャンキングデータでオーバーラップする文字の数。 この数値はチャンキングサイズよりも小さくなければなりません。

選択されたオプションは、実験段階で調査および比較されます。

埋め込みモデル

埋め込みモデルは、意味を捉えるためのベクトルとしてチャンクやクエリをエンコードする、 検索拡張生成で使用されます。 ベクトル化された入力データチャンクはベクトルストアに格納されます。 クエリが与えられると、ベクトル化された表現が、関連するチャンクを検索するためにベクトルストアで使用されます。

AutoAI RAG 実験で使用可能な埋め込みモデルの一覧については、 watsonx.ai で利用可能なサポートされているエンコーダモデルをご覧ください。

詳細情報

この実験に使用した watsonx.ai Runtime インスタンスと環境定義を確認する。

詳細情報

リトリーバル・アグメンテッド・ジェネレーション(RAG)

親トピック RAG実験の作成