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)は、Retrieval‑Augmented Generation(RAG)システム向けのオープンソースのベンチマーキングフレームワークです。研究者や開発者が、リトリーバー、埋め込み、LLM、チャンカー、オーケストレーターなど、個々のRAGコンポーネントが全体的なパフォーマンスにどのように影響するかを測定できます。
✨ 主な機能(READMEに記載の通り)
| 機能 | 説明 |
|---|---|
| 包括的な評価 | 複数の評価軸(LLMベース、深層評価、古典的なIRメトリクス)を実行し、F1、EM、MRR、Hit@K、MAP、NDCGに加え、LLMベースの忠実性、関連性、正確性、幻覚、バイアスなどのメトリクスを報告します。 |
| モジュラーアーキテクチャ | リトリーバー、埋め込み、LLM用のプラグアンドプレイコンポーネント。ベクトル、BM25、ハイブリッド、ツリーベース、キーワード、サマリーベースの検索をサポートします。 |
| 複数のLLMバックエンド | OpenAI API、Ollama経由のローカルモデル、Hugging‑Faceモデル(例:Qwen、LLaMA)で動作します。 |
| オーケストレーター / エージェンティックRAG | シーケンシャル、条件付き、反復、パラレル、ハイブリッドの5つのオーケストレータータイプにより、より複雑でエージェント的なRAGパイプライン(self‑RAG、adaptive‑RAG、FLAREなど)を構築できます。 |
| Web UI | xrag-cli webui で、データセットのアップロード、インデックス構築、パイプライン設定、ライブクエリテスト、視覚的な評価レポートのためのインタラクティブなダッシュボードを起動します。 |
| CLI & API | ベンチマークの実行、QAペアの生成、REST APIサーバーの起動(xrag-cli api)のためのコマンドラインツール(xrag-cli)。 |
| TOMLによる設定 | すべての設定(APIキー、モデル選択、チャンクサイズ、データセットなど)は config.toml ファイルに格納され、--override でその場で上書きできます。 |
| 拡張可能な評価モデル | LlamaIndex、DeepEvalからの組み込み評価器に加え、カスタムメトリクスをサポート。ロードマップには、Semantic Perplexity、Entropy、Auto‑J、Prometheusなどの新しいメトリクスが含まれます。 |
🚀 はじめに(クイックスタートの流れ)
- インストール – Python 3.11以上、conda環境を作成し、
pip install examinationrag(およびいくつかの固定された依存関係)を実行します。 - 設定 –
config.tomlを編集します(APIキー、モデル、データセット、チャンクサイズなど)。 - 実行 –
xrag-cli runで完全なベンチマークを実行します。ファイルを編集せずにパラメータを調整するには--override key=valueを追加します。 - 探索 –
xrag-cli webuiでUIを起動し、データセットのアップロード、インデックスの構築、RAGパイプラインの定義、ライブ結果の確認を行います。 - 提供 –
xrag-cli apiでバックエンドサービスを起動し、シンプルなPOST /queryHTTP呼び出しでクエリを実行します。
🛠️ 典型的なユースケース
| シナリオ | XRAGがどのように役立つか |
|---|---|
| 研究論文 – 検索戦略の比較 | リトリーバーモジュール(BM25 vs ベクトル)を交換し、MRRや幻覚などのメトリクスへの影響を即座に確認できます。 |
| LLM評価 – 生成された回答の忠実性の測定 | 組み込みのLLMベースのメトリクスを使用するか、カスタム評価器をプラグインして回答の正確性をスコアリングします。 |
| エージェンティックRAGパイプラインのプロトタイプ | 「adaptive‑RAG」オーケストレーターでワークフローを構築し、Web UIでテストし、設定をエクスポートします。 |
| データセット作成 | xrag-cli generate は、ドキュメントフォルダからダウンストリームトレーニング用の合成QAペアを生成します。 |
| サービス展開 | xrag-cli api を実行して、他のアプリが検索拡張回答のために呼び出せるRESTエンドポイントを公開します。 |
📦 インストールと実行時の要件
- Python ≥ 3.11
- オプション: conda 環境を推奨
- 依存関係には
jury、requests==2.27.1、urllib3==1.25.11、jiwer<4.0.0が含まれます(競合を避けるために固定) - クラウドLLM API(OpenAI)と、Ollama または Hugging Face を介したローカルモデルの両方をサポートします。
📚 詳細情報
- 論文 – XRAG: Examining the Core (ICDE 2026) – arXiv 2412.15529、DOI 10.1109/ICDE65706.2026.00201
- GitHub – https://github.com/DocAILab/XRAG(スター、イシュー、ロードマップ)
- Web UIデモ –
xrag-cli webuiでローカル実行 - 引用 – READMEにコピー可能なBibTeXがあります。
🙋♀️ 誰が使うべきか?
- 学術研究者 – 検索、プロンプティング、LLM拡張システムの評価を研究している方。
- MLエンジニア – 本番環境のRAGパイプラインを構築し、体系的なコンポーネントベンチマークが必要な方。
- 学生 – さまざまなリトリーバー、埋め込み、オーケストレーターを試すための実践的なフレームワークを探している方。
上記の情報はすべてリポジトリのREADMEから直接取得したものであり、外部の仮定は追加されていません。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト