ウェブデータからRAGパイプラインを構築する方法
スクレイプレスウェブアンロッカーとクローリングは、チームがRAGパイプライン内で正規化、インデックス作成、取得できるパブリックウェブコンテンツを収集します。
TL;DR
- RAGには2つのパイプラインがあります。 インデックス作成経路はソース資料を準備し、問い合わせ経路は証拠を取得して生成器に提供します。
- ウェブ取得の品質が限界を設定します。 空のシェル、ナビゲーションクロム、重複、および欠落したメタデータは後に取得の問題になります。
- チャンクにはアイデンティティが必要です。 すべてのチャンクはその正規URL、ドキュメントバージョン、見出しパス、および収集時間を保持する必要があります。
- 取得は生成の前に評価が必要です。 モデルの最終的な言葉を判断する前に、正しい証拠が見つかったかどうかを測定します。
- 新鮮さはポリシーです。 リフレッシュの頻度、変更検出、削除、および再インデックス作成はソースの変動性とビジネスのニーズに従う必要があります。
なぜこのトピックが重要なのか
取得強化生成パイプラインは、言語モデルに回答時間に外部知識コレクションにアクセスを提供します。この 元の取得強化生成論文 は、パラメトリックモデル知識と取得された非パラメトリックメモリの組み合わせを形式化しました。ウェブデータの場合、実際のアーキテクチャは埋め込みよりも早く始まります:システムは許可されたページを発見し、それらの実際のコンテンツを取得し、無関係なクロムを取り除き、出所を保持し、各ソースがリフレッシュされるべきタイミングを決定しなければなりません。
一般的なデモでは、いくつかのドキュメントをアップロードし、質問をします。生産ウェブRAGシステムは、正規URL、繰り返しのテンプレート、JavaScriptレンダリング、リダイレクト、コンテンツの更新、削除されたページ、および互いに矛盾するパッセージを処理する必要があります。モデルは、このパイプラインを生き残ったチャンクだけを見ることができます。それらのチャンクが古くなっているか、そのソースから切り離されている場合、より強力なモデルは欠落した証拠を再構築できません。
ウェブRAGシステムの二つの半分
オフラインまたは非同期の半分はインデックス作成パイプラインです。文書を発見し、コンテンツを取得し、意味のあるテキストを解析し、識別子を割り当て、文書を取得可能な単位に分割し、検索表現を作成し、インデックスに書き込みます。オフラインという用語は相対的です:頻繁に変化するソースは、1日のうちに再処理されるかもしれませんが、インデックス作成はユーザーの質問からは依然として分離されています。
オンラインの半分はクエリから始まります。意図を分類し、アクセスフィルターを適用し、質問を書き換え、キーワードまたはベクトル取得を実行し、結果をマージし、候補を再ランク付けする場合があります。 OpenAIベクトル埋め込みのドキュメント は、関連性タスクに役立つベクトル表現として埋め込みを説明しますが、ベクトルの類似性だけではあるパッセージが質問に答えることを証明していません。メタデータフィルター、語彙的マッチング、再ランク付け、およびソース品質ルールはしばしば同等の重みを持ちます。
生成器は意図的に制限された証拠パッケージを受け取ります。良いプロンプトは、ソーステキストを指示から区別し、提供された資料への引用を必要とし、不十分な証拠の明示的な回答を許可します。アプリケーションは次に、引用ターゲットを検証し、使用されたパッセージを記録します。これにより、最終的な主張からチャンク、文書、および正規ページへのトレースが作成されます。
ウェブデータインデックス作成のステージ
- ソースを発見します。 サイトマップ、キュレーションされたURLリスト、フィード、または許可された検索結果から始めて、なぜ各ページがコーパスに属するのかを記録します。
- コンテンツを取得します。 静的ページを直接取得し、クライアント側でコンテンツが資料の証拠を変更する場合にのみレンダリングされた取得を使用します。
- 文書を正規化します。 見出し、リスト、表、およびリンクコンテキストを保持しながら、ナビゲーションの繰り返し、クッキーパネル、スクリプト、および重複したテンプレートを削除します。
- 出所を持つチャンクを作成します。 首尾一貫したパッセージを作成し、正規URL、タイトル、見出しパス、言語、アクセス範囲、ハッシュ、および収集時間を添付します。
- インデックス作成とバージョン管理。 変更および削除された資料を調整できるように、安定した文書識別子の下に語彙的およびベクトル表現を書きます。
チャンク化と取得の決定
最適な設定は文書の形状と質問のタイプに依存します。各選択肢を普遍的な定数ではなく、テスト可能な仮説として扱います。
| 決定 | 便利なデフォルト | テストする内容 |
|---|---|---|
| チャンク境界 | 見出しを考慮したパッセージ | 回答が隣接するセクションを跨いで文脈分割を必要とするかどうか。 |
| チャンクサイズ | 一つの首尾一貫したアイデア | 実際の質問に対する再現率、引用精度、およびプロンプトコスト。 |
| 検索方法 | ハイブリッド辞書とベクトル | 正確な識別子、同義語、希少な用語、自然言語の意図。 |
| 再ランキング | 小さな候補セット | トップの証拠が語彙を共有するだけでなく、クエリをサポートしているかどうか。 |
| 新鮮さ | ソース特有のスケジュール | 変更頻度、取得コスト、法的保持、ビジネスの影響。 |
検証可能な段階でパイプラインを構築する
各段階を独自の入力、出力、テストフィクスチャーで実装します。これにより、モデルをすべての失敗の責任にしなくても、取得ミスを診断できます。
- コーパス契約を定義する。 承認されたドメイン、ページタイプ、言語、除外、所有権、保持ルール、およびコーパスが回答しなければならない質問をリストアップします。
- 標準的なドキュメントIDを作成します。 URLを慎重に正規化し、標準的なシグナルを尊重し、ロケール、製品、またはバージョンが意味を変えるページの統合を避けます。
- 構造化されたコンテキストを保存する。 見出し、テーブルの関係、コードの境界、および近くのリンクラベルを保持する。プレーンテキストのフラッティングは、コンパクトな技術的資料の意味を壊す可能性があります。
- ラベル付き質問セットを構築する。 代表的な質問を書き、その回答をサポートすべきパッセージを特定します。回答可能な、あいまいな、回答不可能なケースを含めます。
- 変更の調整を追加する。 コンテンツハッシュを比較し、変更されたチャンクを原子的に置き換え、削除されたドキュメントを削除し、以前の回答を説明するのに十分なバージョン履歴を保持します。
回答の質の前に取得を評価する
流暢な回答は取得ミスを隠すことがあり、弱い言葉での回答も完全な証拠を受け取る可能性があります。各段階を別々にスコアリングし、全体のユーザー成果を評価します。
- コーパスのカバレッジ。 インデックスされたコレクションは、各サポートされた質問クラスの権限のある文書を含んでいますか?
- 取得のリコール。 候補セットには、期待される回答をサポートするパッセージが含まれていますか?
- ランキングの精度。 サポートするパッセージが単に関連性のあるテキストや重複したテキストの上に配置されていますか?
- 引用のサポート。 各引用されたパッセージは、それに付随する具体的な主張を含んでいますか?
- 回答の制限。 コーパスに十分な証拠がない場合、システムは回答を拒否または制限しますか?
ウェブ特有の失敗モード
ウェブコンテンツは、信頼できない入力として扱われる HTTPセマンティクス仕様。取得コードは、資料が解析またはモデル段階に達する前にホスト、コンテンツタイプ、サイズ、およびリダイレクトルールを強制する必要があります。
- テンプレートの汚染。 繰り返しのヘッダーとフッターは類似性検索を支配し、回答を含む段落を排除します。
- 重複したID。 トラッキングパラメータおよび代替経路は、1ページに対して複数のレコードを作成し、独立したサポートを追加することなく証拠を膨張させます。
- 指示の汚染。 ページにはモデルに向けた指示が含まれる場合があります。ソーステキストを引用された証拠として保存し、取得やシステムポリシーに対する制御を与えないでください。
- 古い埋め込み。 ベクトル表現を置き換えずに生のテキストを更新すると、インデックスが内部的に矛盾します。
- サポートされていない合成。 発電機は、個別に正しい記述を結論にまとめる場合がありますが、出典はそれを示していません。主張レベルの引用チェックがそのギャップを捕まえます。
ウェブ RAG パターン
ドキュメントアシスタント
バージョンメタデータを持つ承認された製品およびポリシーページをインデックス化し、回答が現在のセクションを指すようにします。
研究ワークスペース
主要な情報源を収集し、節を保存し、分析者がページの履歴を失うことなく証拠を比較できるようにします。
サポート知識
公共ガイダンスとアクセス制御された内部資料を組み合わせ、取得時にソースの権限を強制します。
変化に配慮したブリーフィング
意味のあるページの更新を検出し、影響を受けたチャンクを再インデックスし、古いバージョンと新しいバージョンに基づいた要約を生成します。
パイロットからプロダクションへ
ウェブデータからのRAGパイプラインのための便利なパイロットは、レコードごとに検査できるように十分小さいべきです。始めるには コーパス契約を定義する承認されたドメイン、ページタイプ、言語、除外、所有権、保持ルール、およびコーパスが答えなければならない質問のリストを示します。その後、適用します。 カノニカル文書IDを作成するURLを慎重に正規化し、正規の信号を尊重し、ロケール、製品、またはバージョンがその意味を変えるページを統合しないようにします。最初の評価セットは意図的に混合しておき、通常のケース、曖昧なケース、証拠が欠けているケース、およびシステムが拒否または引き継がなければならないアクションを含めます。これは、ワークフローが高いボリュームが集約したメトリック内にデザインミスを隠す前に、その境界を理解しているかどうかを明らかにします。
プロダクションの準備には、すべてのメジャーとアーティファクトのオーナーが必要です。トラック コーパスカバレッジ インデックス付きコレクションがサポートされている各質問クラスに対する権威ある文書を含んでいるかどうかを確認しますか? 追跡 検索のリコール 候補セットに期待される回答を支持するパッセージが含まれているかどうかを判断するには、追加します。 ランキング精度 チームが、上に配置された支援のパッセージが単に関連しているのか、重複しているのかを確認できるようにするためです。これらの対策は、単なるダッシュボードの合計として存在するのではなく、基礎となる記録にリンクする必要があります。レビュアーは、変更された指標から、それを生成した正確なクエリ、ソース、観察、またはアクションに移動する必要があります。
運用管理は、ビジネスの意思決定を変更する可能性が最も高い失敗モードを対象にすべきです。最初のレビュー規則は以下をカバーする必要があります。 テンプレート汚染繰り返されるヘッダーとフッターは、類似検索を支配し、答えが含まれている段落を排除します。出口レビューはカバーするべきです。 サポートされていない合成生成器は、個別に真実な部分をソースが示さない結論に組み合わせることがあります。主張レベルの引用チェックがそのギャップをキャッチします。応答の所有者を割り当て、どの証拠が問題を解決するかを定義し、結果がデータ、プロンプト、ツール、権限、またはソースポリシーを変更するかどうかを記録します。その記録は、同じ欠陥が説明されていない品質の変動として再発見されるのを防ぎます。
パイロットが予測可能に振る舞った後にのみ拡張します。チームは、承認された製品およびポリシーページをバージョンメタデータでインデックス付けすることが仕事であるドキュメンテーションアシスタントから始めることができます。第2フェーズでは、ワークフローが一次情報を収集し、抜粋を保存し、アナリストがページの履歴を失うことなく証拠を比較できる研究作業スペースを追加することができます。スコープが拡大するにつれて、元のテストセットをそのまま実行し続けます。新しいソース、市場、ツール、権限は、 regression が特定の変更に割り当てられるように、同時プラットフォームの書き換えではなく、一度に1つの境界で導入する必要があります。
結論
ウェブRAGパイプラインは、取得、正規化、検索、および生成が1つのプロヴェナンスモデルを共有する場合に成功します。すべての回答はチャンクにトレース可能であり、すべてのチャンクはバージョン管理されたドキュメントに、すべてのドキュメントは許可されたソースにトレース可能でなければなりません。そのチェーンは、ベクトルデータベースの選択よりも重要です。
最小限のコーパスを構築して実際の質問セットをカバーし、ラベル付きの例で検索を評価し、拡張前に新鮮さルールを追加します。同じアイデンティティ、エビデンス、および削除契約に従う新しいソースごとに、ウェブスケールは管理可能になります。
新しいウェブコーパスを構築する準備はできていますか?
Scrapeless Web UnlockerとCrawlを使用して、RAGインジェクションパイプラインが正規化およびインデックスできる形式で公開ページを取得します。
今日サインアップして、 $5の無料クレジット — クレジットカードは不要です.
$5のクレジットを受け取る →FAQ
最小限のウェブRAGアーキテクチャとは何ですか?
最小限のアーキテクチャには、取得、クリーンアップ、チャンク化、インデックス、 retrieval、生成器、および引用ストレージが含まれます。また、更新時に無制御な重複を作成しないように、安定した文書識別子が必要です。
すべてのウェブページにブラウザレンダリングが必要ですか?
いいえ。意味のあるコンテンツがレスポンスに到着するページには、直接取得を使用してください。JavaScript、インタラクション、またはセッションの状態がコーパスによって必要とされるコンテンツを変更する場合のみ、レンダーパスを使用してください。
ウェブRAGインデックスはどのくらいの頻度で更新すべきですか?
ソースのボラティリティと古い回答のコストに応じてリフレッシュします。製品の可用性は頻繁にチェックする必要があるかもしれませんが、安定した標準文書はめったに変更されない可能性があります。変更検出により、変更されていないページの再処理を回避できます。
RAGに対してベクトル検索は十分か?
通常はそうではありません。正確な名前、識別子、引用されたフレーズは、しばしば字句検索の恩恵を受けますが、意味的な質問はベクトルの恩恵を受けます。ハイブリッド検索と再ランキングは、ラベル付きの質問に対してテストされるべきです。
削除されたウェブコンテンツはどのように扱うべきですか?
ソースを利用できないようにし、そのアクティブなチャンクを削除または隔離し、ポリシーで許可されている履歴のみを保持します。回答は、現在のコーパスがもはや認可していないコンテンツを引用し続けるべきではありません。