取得するデータを準備する

完了

Tip

詳細については、「 テキストと画像 」タブを参照してください。

検索は、検索可能にされた情報のみを検索できます。 RAG アプリケーションが質問に答える前に、ソース データを準備する インデックス作成パイプライン が必要です。

インデックス作成パイプラインは、通常、次のタスクを実行します。

テキスト抽出とインデックス作成パイプラインの図。

  1. ソース テキストを抽出します。
  2. テキストを集中した通路にチャンクします。
  3. テキスト トークンを、セマンティック属性をカプセル化する埋め込みベクターとしてエンコードします。
  4. 埋め込みの検索に使用できるインデックスを作成します。

これらの各タスクについて詳しく見ていきましょう。

ソース データの選択と処理

RAG ナレッジ ソースには、製品マニュアル、ポリシー、Web ページ、データベース レコード、サポート チケット、またはその他の承認済みコンテンツが含まれる場合があります。 準備プロセスには、通常、次の手順が含まれます。

  1. 各ソースからコンテンツを読み込みます
  2. PDF ファイル、プレゼンテーション、Web ページ、テーブルなどの形式から便利なテキストと構造を抽出します。
  3. 繰り返しヘッダー、ナビゲーション テキスト、または質問に答えるのに役立たないその他の要素を削除して、コンテンツをクリーンアップします。
  4. タイトル、ソース URL、カテゴリ、アクセス許可、最終更新日などのメタデータを追加します。

ソースの品質が重要です。 重複したドキュメント、古いドキュメント、または矛盾したドキュメントは、取得が不十分で信頼性の低い回答につながる可能性があります。 アクセス制御も不可欠です。ユーザーは、表示が許可されているコンテンツのみを取得する必要があります。

コンテンツをチャンクに分割する

多くの場合、ドキュメントは大きすぎるため、モデルに完全に送信する必要があります。 それらはチャンクと呼ばれる小さな通路に分 かれています。 各チャンクには、特定のトピックに焦点を当てたまま、意味のある十分なコンテキストが含まれている必要があります。

たとえば、旅行ポリシーは、フライト、ホテル、食事、地上輸送用の個別のチャンクにセクションごとに分割できます。 ホテルの制限に関する質問は、プロンプトにポリシー全体を追加せずにホテル セクションを取得できます。

チャンクにはトレードオフが伴います。

  • チャンクが大きすぎると、無関係な情報が含まれる可能性があり、モデルのコンテキスト ウィンドウの多くが使用されます。
  • チャンクが小さすぎると、ステートメントを理解するために必要な見出し、定義、またはその他の情報から分離できます。

多くの場合、チャンクは少し重なって、重要なコンテキストが境界で失われないようにします。

埋め込みを作成する

RAG ソリューションでは、通常、 埋め込みモデルを 使用して各チャンク を埋め込みに変換します。これは、コンテンツのセマンティック特性を表す数値ベクトルです。 類似した意味を持つチャンクには、異なる単語を使用する場合でも、ベクトル空間内で互いに近い埋め込みがあります。

データのインデックスを作成する

このソリューションは、チャンク、その埋め込み、および有用なメタデータを検索インデックスまたはベクター対応データ ストアに格納します。 インデックスは次をサポートする場合があります。

  • キーワード検索。これは、正確な単語、識別子、または製品コードが重要な場合に有効です。
  • ベクトル検索。セマンティックに類似したコンテンツを検索します。
  • キーワード検索とベクター検索を組み合わせたハイブリッド検索。

データの準備は 1 回限りではありません。 インデックス作成パイプラインでは、新しいコンテンツを追加し、変更されたコンテンツを更新し、無効になったコンテンツを削除して、取得に現在の信頼できるソースが反映されるようにする必要があります。