DocAILab/XRAG

XRAG: eXamining the Core - Benchmarking Foundational Component Modules in Advanced Retrieval-Augmented Generation

📚 XRAGとは?

XRAG(eXamining the Core – Benchmarking Foundational Component Modules in Advanced Retrieval‑Augmented Generation) は、研究者や開発者が検索拡張生成(RAG)システムの構成要素を評価できるオープンソースのPythonフレームワークです。RAGパイプラインをブラックボックスとして扱うのではなく、XRAGはそれをモジュール化された部品(リトリーバー、埋め込み、テキストスプリッター、オーケストレーターなど)に分解し、体系的なベンチマークを実行して、各選択が全体的なパフォーマンスにどのように影響するかを確認できます。


✨ コア機能(READMEに記載の通り)

カテゴリ ハイライト
評価エンジン • 複数の評価次元:従来のメトリクス(F1、EM、MRR、Hit@K、MAP、NDCG)およびLLMベースのメトリクス(忠実度、関連性、正確性)。
• 文脈精度/再現率、幻覚、バイアスなどの深い評価メトリクス。
• 組み込み評価器:LlamaIndex、DeepEval、カスタムメトリクス用のフック。
モジュラーアーキテクチャ • リトリーバー、埋め込み、LLM用のプラグ可能なコンポーネント。
• クイック実験用の--overrideフラグ。

🛠️ インストール(クイックリキャップ)

  1. Python 3.11+環境を作成(conda推奨)。
    conda create -n xrag python=3.11
    conda activate xrag
    
  2. PyPIからパッケージをインストール(パッケージ名はexaminationrag)。
    pip install examinationrag
    

🚀 クイックスタートの手順

  1. config.tomlを編集 – APIキーを設定し、モデルを選択します。

🎯 XRAGを使うべき人は?

オーディエンス 典型的なユースケース
学術研究者 標準ベンチマーク(HotpotQA、DropQA、NaturalQA)で、異なるリトリーバー、埋め込み、オーケストレーターがRAGパフォーマンスに与える影響を体系的に比較。
プロダクトエンジニア 新しい検索コンポーネント(例:ツリーベースのインデックス)が、リリース前にレイテンシと精度の目標を満たすことを検証。
LLM中心のスタートアップ 内部QAデータセットを自動生成し、RAG搭載アシスタントの迅速なプロトタイピング用に/query APIを公開。
学生/ホビイスト Web UIでコンポーネントを切り替え、メトリクスの変化をリアルタイムで観察してRAGパイプラインを学習。

📖 ドキュメントとコミュニティ

  • 論文 – ICDE 2026で採択(arXiv 2412.15529)。READMEには、より深い方法論の詳細へのPDFリンクがあります。
  • GitHub – イシュー、プルリクエスト、スターカウンターが表示され、リポジトリは貢献(コード、データ、アイデア)を奨励しています。
  • 謝辞 – LlamaIndex、Hugging Face Transformersに基づいて構築され、RAGLAB、FlashRAG、FastRAG、AutoRAG、LocalRAGなどのプロジェクトに触発されています。
  • 引用 – 学術的なクレジット用に、コピー可能なBibTeXエントリが提供されています。

🛎️ TL;DR

XRAGは、検索拡張生成のためのモジュラーベンチマークスイートです。リトリーバー、埋め込み、LLMバックエンド、オーケストレーターを自由に組み合わせて、クラシックなIRメトリクスと新しいLLMベースの品質スコアの両方で結果を評価できます。pip install examinationragでインストールし、シンプルなTOMLファイルで設定し、コマンドラインまたはインタラクティブなWeb UIから実験を実行できます。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト