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フラグ。 |
🛠️ インストール(クイックリキャップ)
- Python 3.11+環境を作成(conda推奨)。
conda create -n xrag python=3.11 conda activate xrag - PyPIからパッケージをインストール(パッケージ名は
examinationrag)。pip install examinationrag
🚀 クイックスタートの手順
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から実験を実行できます。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト