LlamaIndexとは?
Scrapeless Scraping Browserは、LlamaIndexアプリケーション用に外部知識を準備するデータパイプラインにレンダリングされた公開ウェブコンテンツを供給することができます。
要約
- LlamaIndexは、プライベートまたは外部データに対するコンテキスト拡張アプリケーションのためのフレームワークです。 それは取り込み、インデックス作成、リトリーバル、クエリ、エージェント、およびワークフローに焦点を当てています。
- 文書はリトリーバルの前により小さなノードになります。 テキスト、メタデータ、関係、および埋め込みがクエリが回復できるコンテキストを決定します。
- インデックスは必ずしもソースのコピーではありません。 それはソースコンテンツを検索可能またはクエリ可能にする構造です。
- クエリエンジンとチャットエンジンは異なるインタラクションパターンを提供します。 一方はデータに対してクエリに答え、もう一方は会話のやりとりを維持します。
- リトリーバルの質は取り込みの選択に依存します。 解析、メタデータ、チャンクの境界、評価は、プロンプトの磨き上げよりも重要である場合がよくあります。
LlamaIndexの定義
LlamaIndexは、基礎モデルがすでに含まないデータに対して言語モデルアプリケーションを構築するためのフレームワークです。公式 LlamaIndexのドキュメント は、コネクタ、インデックス、クエリインターフェイス、エージェント、およびワークフローを介してモデルにプライベートまたは問題特有のデータを利用可能にすることをコンテキスト拡張と定義しています。
このフレームワークは、リトリーバル拡張生成およびデータインデックス作成に重きを置いて始まりました。現在の範囲はより広いです。開発者はファイルやAPIを取り込み、文書を解析し、リトリーバルシステムを構築し、クエリおよびチャットエンジンを公開し、ツールを使用するエージェントを作成し、イベント駆動型ワークフローを調整できます。管理されたLlamaCloudサービスは、オープンソースフレームワークと並んで存在しますが、同じものではありません。
データアクセスがアプリケーションの中心であるとき、LlamaIndexは便利です。モデルは言語を上手に理解できるかもしれませんが、会社のポリシー、製品カタログ、研究アーカイブ、または新しく公開されたウェブページが不足している可能性があります。LlamaIndexは、これらのソースを検索可能なコンテキストパスに移動するための構造を提供します。
LlamaIndexデータパス
典型的なLlamaIndexパイプラインは、文書ソースで始まり、モデルに選択されたコンテキストで終わります。リーダーまたはコネクタがソースコンテンツをロードします。パーサーが文書をノードに変換します。埋め込みモデルまたは別のインデックス方法がこれらのノードを検索可能にします。リトリーバーが候補を選択し、オプションのポストプロセッサがそれらをフィルタリングまたは再ランク付けし、応答合成機が選択された証拠からモデルに答えるように求めます。
各段階が最終的な答えを変える可能性があります。テーブルヘッダーを削除するパーサーは、値をその意味から切り離すことができます。チャンクの境界はルールをその例外から分離できます。弱いメタデータは管轄や文書のバージョンを混合する可能性があります。したがって、リトリーバル評価は取り込みの近くに属し、チームが最終プロンプトの調整に時間を費やす前に行われるべきです。
コアLlamaIndexコンポーネント
| コンポーネント | 目的 | 設計の問い |
|---|---|---|
| リーダーまたはコネクタ | ファイル、API、データベース、または他のソースからデータをロードします。 | どの権限とソースメタデータを保持する必要がありますか? |
| 文書とノード | ソースコンテンツおよび取得可能な単位を表します。 | 文脈を失うことなく境界はどこにすべきですか? |
| インデックス | ノードを効率的にアクセスするために整理します。 | どの表現がクエリパターンに合いますか? |
| リトリーバー | 入力に関連するノードを選択します。 | リコールと精度はどのように測定されますか? |
| クエリまたはチャットエンジン | リトリーバルと応答生成を組み合わせます。 | アプリケーションはワンショットまたは会話行動が必要ですか? |
| エージェントとワークフロー | ツールを使用し、複数のステップの実行を調整します。 | モデルの判断が必要なステップと固定コードが必要なステップはどれですか? |
コンポーネントは合成可能であり、実験を促進します。その柔軟性はまた、質の低い答えの本当の原因を隠すこともあります。解析されたノード、リトリーバルスコア、ポストプロセッシング、プロンプト、および引用されたソースIDのトレースを保持し、それぞれのレイヤーを独立して検査できるようにしましょう。
一般的なLlamaIndexの使用例
知識アシスタント
従業員は、ソースリンクされた回答を用いて、ポリシー、マニュアル、および内部文書の管理されたコレクションを問い合わせます。
文書研究
研究者は長い報告書を検索し、引用部分を比較し、出所を維持しながら回答を統合します。
構造化抽出
パースとスキーマ駆動の抽出により、複雑なファイルが下流システムが検証可能なレコードに変換されます。
データ認識エージェント
エージェントは、クエリエンジン、データベース、外部APIをより大きなワークフロー内のツールとして扱います。
ウェブコンテンツは同じパスに入れることができます。ページがJavaScriptで主要なテキストをレンダリングすると、ブラウザ支援のコレクターが表示されるコンテンツをLlamaIndexがパースする前にキャッチできます。Scrapelessはブラウザ実行を処理し、LlamaIndexアプリケーションは表現、取得、回答の統合を処理します。
摂取パイプラインの設計
摂取は、スピードの最適化を行う前に意味を保持すべきです。読者が実際に参照する単位を特定することから始めます:セクション、条項、表の行、製品記録、または会話のターン。明らかなノイズを正規化しますが、取得や引用のために後で必要な見出し、ラベル、タイムスタンプ、ソース識別子は削除しないでください。
- ソースタイプ、所有権、更新頻度、およびアクセスルールのインベントリ。
- 質問や引用に必要な構造を保持するパーサーを選択します。
- 安定したソースIDとバージョン、セクション、日付、管轄のメタデータを持つノードを作成します。
- 文書構造に基づいてチャンク境界を選択し、それをベースラインと比較します。
- 生成を追加する前にインデックスを構築し、取得フィルターを定義します。
- 実際の質問と既知の関連パッセージで取得をテストします。
- 証拠パスがうまく機能した後にのみ応答の統合を追加します。
この順序は流暢なモデルの回答が取得の問題を隠すのを防ぎます。正しいノードがプロンプトに到達しなければ、より良い生成器は欠落した事実を信頼できる方法で回復できません。
インデックス、リトリーバー、およびクエリエンジン
インデックスはノードを整理し、それらを見つけられるようにします。ベクトルインデックスは埋め込みを使用して意味的類似性を一致させ、一方で他の構造はキーワード、文書、リスト、またはプロパティグラフを使用する場合があります。リトリーバーはクエリを候補ノードに変換します。ポストプロセッサはメタデータフィルター、類似性の閾値、再ランク付け、またはコンテキストの拡張を適用することがあります。
クエリエンジンは取得を応答の統合に接続します。チャットエンジンは会話の状態を追加し、取得の前にフォローアップの質問を書き換えることができます。会話履歴はソース証拠を静かに上書きしてはいけません。各ターンごとに解決された質問と取得されたノードを保存し、レビューアがなぜ回答が変わったのかを見ることができるようにします。
評価は取得を生成から分離する必要があります。期待されるソースが候補セットに現れるかどうかを測定した後、最終的な回答がそのソースに忠実であるかどうかを測定します。組み合わせたエンドツーエンドのスコアは役立ちますが、どの段階が修理を必要としているかは明らかにしません。元の 取得強化生成論文 はパラメトリック知識と取得された知識を組み合わせる有用な背景を提供します。
LlamaIndexエージェントとワークフロー
LlamaIndexエージェントは、クエリエンジン、関数、および外部サービスを選択するためにモデルを使用します。ワークフローは複数のステップにわたるイベントと状態を調整します。リクエストに依存するパスがある場合はエージェントを使用してください。決定論的なパース、認可、検証、副作用は通常のコードまたは明示的なワークフローノードに保持します。
ツールは狭い説明とスキーマが必要です。「すべて検索」ツールはあいまいな選択を生み出し、一方でポリシーコレクション、製品データベース、および現在の公共ウェブ用の別々のツールはソース境界を明確にします。権限は各ツールと共に移動する必要があります。モデルの指示はアクセス制御の代わりにはなりません。
The LlamaCloudコンポーネント概要 は管理されたパース、抽出、インデックス作成、分類、およびエージェントサービスを区別します。オープンソースと管理経路を比較するチームは、データの居住地、コスト、運用所有権、および各ワークロードが必要とするカスタマイズのレベルを評価する必要があります。
トレードオフと評価
LlamaIndexは多くの拡張ポイントを提供し、これによりチームが所有しなければならない選択肢の数が増える可能性があります。デフォルトはプロトタイプに役立ちますが、仮説として扱うべきです。文書構造、クエリスタイル、言語、およびドメインの語彙はすべて最適なパーサー、チャンクサイズ、埋め込み、または取得方法を変更する可能性があります。
摂取をスケーリングする前に小さな評価セットを構築してください。正確なルックアップ質問、マルチパッセージ質問、あいまいな表現、回答が欠落しているケース、およびバージョンの競合を含めます。ソース引用と棄権をレビューし、自然言語の類似性だけでなく、ゴールは支配する証拠を取得し、コレクションが回答できないときに明確に言うシステムを確立することです。
結論
LlamaIndexは、摂取、ノード、インデックス、取得、クエリエンジン、エージェント、およびワークフローを介して言語モデルを外部データに接続するためのフレームワークです。その強みは、データの質と証拠へのアクセスが設計を推進するアプリケーションです。ソース構造と取得評価から始め、出所を保持し、モデル主導のツール選択が測定可能な価値を加える場合にのみエージェントの行動を追加します。
ウェブフィードされたLlamaIndexパイプラインを構築する準備はできましたか?
管理されたブラウザでレンダリングされた公共コンテンツを収集し、その後アプリケーションの制御の下でインデクシングと取得を続けます。
今日サインアップして、 $5の無料クレジットを獲得する — クレジットカードは不要です.
$5のクレジットを獲得する →FAQ
LlamaIndexはベクトルデータベースですか?
いいえ。LlamaIndexはベクトルデータベースに接続し、ベクトルベースのインデックスを構築できますが、摂取、パース、取得、応答の統合、エージェント、およびワークフローのためのより広範なフレームワークです。データベースは別のストレージおよび検索コンポーネントのままです。
LlamaIndexはRAG専用ですか?
番号。Retriever-augmented generationは中心的なユースケースですが、LlamaIndexはドキュメントの解析、構造化抽出、クエリとチャットエンジン、ツール使用エージェント、およびデータに対するイベント駆動型ワークフローもサポートしています。
ドキュメントとノードの違いは何ですか?
ドキュメントはシステムに読み込まれたソースマテリアルを表します。ノードは、そのマテリアルから派生したインデックス作成と取得のための小さな単位です。良好なパイプラインは、すべてのノードをそのソースドキュメントおよび位置に戻すメタデータを保持します。
LlamaIndexはウェブページを取り込むことができますか?
はい。コネクタまたはカスタムローダーがページコンテンツを提供でき、ブラウザベースのコレクションレイヤーが取り込み前にJavaScript依存のページをレンダリングできます。アプリケーションは、抽出されたテキストに対して正準URL、タイムスタンプ、見出し、およびアクセスルールを保持すべきです。
チームはどのようにLlamaIndexアプリケーションを評価すべきですか?
取得と生成を別々に評価します。代表的な質問に関連するノードが現れるか、引用が回答を支持するか、システムが証拠の欠如をどう処理するか、解析、チャンク、埋め込み、またはプロンプトの変更が意図したメトリクスを改善するかを確認します。