ソートリーダー

RAG Evolution – Agentic RAGの入門

mm
Unite.AI を Google の優先ソースに追加

RAG(Retrieval-Augmented Generation)とは何か?

Retrieval-Augmented Generation(RAG)は、大規模言語モデル(LLM)と外部データの取得を組み合わせて、生成された応答の品質と関連性を向上させる技術です。従来のLLMは、事前トレーニングされた知識ベースを使用しますが、RAGパイプラインは実行時には外部データベースまたはドキュメントに照会して関連情報を取得し、より正確でコンテキストに富んだ応答を生成します。これは、質問が複雑、具体的、または特定の時期に基づいている場合に特に役立ちます。モデルの応答は、最新のドメイン固有の情報で情報を提供し、豊かです。

現在のRAG LANDSCAPE

大規模言語モデルは、情報へのアクセスと処理方法を完全に変革しました。ただし、内部の事前入力知識のみに頼ることは、特に複雑な質問の場合、回答の柔軟性を制限する可能性があります。Retrieval-Augmented Generationは、この問題を解決するために、LLMが外部ソースからのデータを取得して分析することを可能にします。

情報検索と自然言語処理、特にLLMとRAGの分野における最近の進歩は、効率性と洗練度の新たな境界を開いています。これらの進歩は、以下の広い枠組みで評価できます。

  1. 強化された情報検索:RAGシステムの情報検索の改善は、効率的に機能する上で非常に重要です。最近の研究では、精密検索の改善のためにさまざまなベクトル、再ランキングアルゴリズム、ハイブリッド検索方法が開発されています。
  2. セマンティックキャッシング:これは、コンピューターコストを削減するための主要な方法の1つであり、同時に一貫した応答を維持することができます。つまり、現在のクエリへの応答が、そのセマンティックおよびプラグマティックコンテキストとともにキャッシュされ、スピードの向上と一貫した情報の提供につながります。
  3. マルチモーダル統合:テキストベースのLLMおよびRAGシステムに加えて、このアプローチでは、視覚やフレームワークの他のモダリティもカバーします。これにより、より幅広いソースマテリアルへのアクセスが可能になり、応答はますます洗練され、正確性が高まります。

従来のRAGアーキテクチャの課題

RAGはさまざまなニーズに対応するために進化していますが、従来のRAGアーキテクチャにはまだ課題があります。

  • 要約:大量のドキュメントを要約することは難しい場合があります。ドキュメントが長い場合、従来のRAG構造は重要な情報を省略する可能性があります。なぜなら、トップKのピースのみを取得するからです。
  • ドキュメントの比較:有効なドキュメントの比較はまだ課題です。RAGフレームワークは、各ドキュメントからランダムにトップKのチャンクを選択するため、不完全な比較につながることがあります。
  • 構造化データの分析:構造化された数値データのクエリ(例:従業員が次に休暇を取るタイミングを決定する)を処理することは難しいです。精密なデータポイントの取得と分析は、これらのモデルでは正確ではありません。
  • 複数パーツを含むクエリの処理:複数パーツを含む質問に答えることはまだ制限されています。例えば、複数の地域で休暇パターンを調べることは、K個のピースに制限されているため、完全な調査を行うことは困難です。

Agentic RAGへの移行

Agentic RAGは、複雑な質問に答えるために、計画、多段階の推論、外部ツールの統合が必要な場合に、知能エージェントを使用します。これらのエージェントは、熟練した研究者の役割を果たします。多数のドキュメントをナビゲートし、データを比較し、発見を要約し、包括的で正確な応答を生成します。

エージェントの概念は、従来のRAGフレームワークに組み込まれており、アジェンティックRAGの作成につながります。これらのエージェントは、基本的な情報取得と生成以外の追加のタスクと推論を実行し、RAGパイプラインのさまざまなコンポーネントをオーケストレートおよび制御します。

3つの主要なAgentic戦略

ルーターは、クエリをタイプに応じて適切なモジュールまたはデータベースにルーティングします。ルーターは、大規模言語モデルを使用して、リクエストのコンテキストに基づいて、どのエンジンに送信するかを動的に決定します。これにより、パイプラインの精度と効率が向上します。

クエリ変換は、ユーザーのクエリを最適な情報を提供するために、またはデータベースが提供するものに最もよく一致するように、再表現するプロセスです。これには、再表現、拡張、または複雑な質問をより扱いやすい小さなサブ質問に分解することが含まれます。

複雑なクエリに答えるために、サブクエリエンジンが必要です。これにより、複数のデータソースを使用して複雑なクエリに答えることができます。

まず、複雑な質問を各データソース用のより単純な質問に分解します。次に、すべての中間的な答えを収集し、最終的な結果を合成します。

Agentic RAGパイプラインのレイヤー

  • ルーティング:質問は、関連性に基づいて、適切な知識ベースの処理にルーティングされます。例:ユーザーが特定のカテゴリの本の推奨事項を取得したい場合、クエリはそのカテゴリの本に関する知識ベースにルーティングされます。
  • クエリプランニング:クエリはサブクエリに分解され、それぞれの個別のパイプラインに送信されます。エージェントは、年など、すべてのアイテムに対してサブクエリを生成し、それぞれの知識ベースに送信します。
  • ツールの使用:言語モデルは、APIまたは外部ツールと通信します。通信が必要なプラットフォーム、時期、内容について理解しています。例:ユーザーが特定の日付の天気予報をリクエストした場合、LLMは天気APIと通信し、ロケーションと日付を特定し、APIからの返信を解析して正しい情報を提供します。
  • ReActは、計画、ツールの使用、観察を伴う思考と行動の反復プロセスです。例:エンドツーエンドの旅行プランを設計する場合、システムはユーザーの要望を考慮し、ルート、観光名所、レストラン、宿泊施設に関する詳細をAPIを通じて取得し、結果を正確性と関連性に基づいてチェックし、ユーザーのプロンプトとスケジュールに応じた詳細な旅行プランを生成します。
  • 動的クエリの計画:エージェントは、順番にではなく、複数のアクションまたはサブクエリを同時に実行し、結果を集約します。例:2社の財務結果を比較し、特定の指標の差を決定したい場合、エージェントは両社のデータを並行して処理し、結果を集約します。LLMCompilerは、このような並行関数呼び出しの効率的なオーケストレーションを可能にするフレームワークの1つです。

Agentic RAGとLLMaIndex

LLMaIndexは、RAGパイプラインの非常に効率的な実装を表します。このライブラリは、生成的なAIモデルに構造化された組織データを統合するための欠けていたピースを埋め、ツールのデータ処理と取得のための利便性を提供し、さまざまなデータソースへのインターフェースを提供します。LLMaIndexの主なコンポーネントは以下に説明されています。

LlamaParseはドキュメントを解析します。

Llama Cloudは、最小限の手作業でRAGパイプラインをデプロイできるエンタープライズサービスです。

LLMaIndexは、PythonとTypeScriptでRAGアプリケーションを構築するための統合された方法を提供し、ベクトルストレージと複数のLLMを使用します。その特性により、企業がAIを活用したデータ駆動型の意思決定を強化するための重要なバックボーンとなります。

LLMaIndexを使用したAgentic RAGの主なコンポーネント

Agentic RAGの成分と、それらがLLMaIndexで実装されている方法について詳しく見てみましょう。

1. ツールの使用とルーティング

ルーティングエージェントは、質問のタイプに基づいて、どのLLMまたはツールを使用するかを選択します。これにより、ユーザーが概要または詳細な要約を希望しているかによって、コンテキストに敏感な決定が行われます。LLMaIndexのRouter Query Engineは、クエリに応じてツールを動的に選択し、応答を最大化します。

2. 長期的なコンテキストの保持

メモリの最も重要な役割は、複数のインタラクションにわたってコンテキストを保持することです。対照的に、Agentic RAGのメモリを備えたエージェントは、継続的にインタラクションを認識し、一貫したコンテキストを伴う応答を生成します。

LLMaIndexには、コンテキスト会話と単発クエリ用のメモリを備えたチャットエンジンもあります。長い会話中のLLMコンテキストウィンドウのオーバーフローを避けるために、このメモリを厳密に制御する必要があり、会話の要約形式に縮小されます。

3. サブクエリエンジンによる計画

複雑なクエリを小さなジョブに分解する必要があります。サブクエリエンジンは、LLMaIndexがエージェントとして使用される主要な機能の1つです。ここで、大きなクエリが小さなものに分解され、順番に実行され、最後に一貫した答えが生成されます。エージェントがステップバイステップでクエリのさまざまな側面を調査する能力は、多段階の計画の概念を表します。

4. 反省とエラーコレクション

反省エージェントは出力を生成しますが、出力の品質を確認して、必要に応じて修正します。このスキルは、正確性と、人間が意図したものが生成されることを保証する上で非常に重要です。LLMaIndexの自己反省ワークフローにより、エージェントはパフォーマンスをレビューし、必要に応じてアクティビティを再試行または調整します。自己修正能力があるため、Agentic RAGは、信頼性が重要なエンタープライズアプリケーションに適しています。

5. 複雑なエージェント推論

ツリー探索は、エージェントが何かを達成するために複数の可能なルートを調査する必要がある場合に適用されます。順次的意思決定とは対照的に、ツリー推論により、エージェントはさまざまな戦略を同時に考慮し、リアルタイムに更新される評価基準に基づいて最も約束のあるものを選択できます。

LlamaCloudとLlamaParse

LlamaCloudは、LLMaIndex環境における大きな進歩です。エンタープライズグレードのコンテキスト増強サービスを提供し、RAGパイプラインを最小限の手作業でデプロイできるように設計されています。このソリューションにより、AIエンジニアは、データの手作業処理の複雑なプロセスを減らすことで、ビジネスロジックの開発に集中できます。

また、LlamaParseというパーシングエンジンも利用可能です。これは、LLMaIndexのインジェストおよび取得パイプラインとシームレスに統合され、埋め込まれたテーブルや図などのオブジェクトを含む複雑な半構造化ドキュメントを処理することができます。さらに、中央のデータリポジトリLlamaHubまたはLlamaParseの出力からのデータを簡単にロード、処理、保存できる、管理されたインジェストおよび取得APIが提供され、さまざまなデータストレージ統合もサポートされています。

結論

Agentic RAGは、エージェント自体にさらに知能を導入することによって、情報処理の新たな段階を表します。多くの状況では、Agentic RAGはプロセスやさまざまなAPIと組み合わせて、より正確で洗練された結果を提供できます。例えば、ドキュメントの要約の場合、Agentic RAGはユーザーの目的を評価してから、要約または詳細を比較して構成します。カスタマーサポートを提供する場合、Agentic RAGは、複雑なクライアントの質問に、トレーニングモデルだけでなく、利用可能なメモリと外部ソースにも基づいて、正確かつ個別に応答できます。Agentic RAGは、生成モデルから、他の種類のソースを利用してロバストで正確な結果を達成するように調整されたシステムへの移行を強調しています。ただし、現在の知能と生成能力を考えると、これらのモデルとAgentic RAGは、パイプラインにさらに多くのデータが追加されるにつれて、より高い効率性を目指しています。

チャイタニヤ・パタクは、ジェネレーティブAIの製品化に特化した経験豊富なテクノロジー経営者です。エンタープライズソフトウェアと製品管理で10年以上の経験を持ち、現在はLEAPS by Analytticaのチーフプロダクト&テクノロジー担当官です。チャイタニヤは、現在特許出願中の包括的なフレームワークを開発しており、これによりAIテクノロジーが複数の業界でスケーラブルで市場対応可能な製品になり、製品とテクノロジーのリーダーが有意義な影響を与えることができます。