RUC-NLPIR/FlashRAG

⚡FlashRAG: A Python Toolkit for Efficient RAG Research (WWW2025 Resource)

何を解決するか

FlashRAGは、Retrieval Augmented Generation (RAG)研究の再現と開発を簡素化するためのPythonツールキットです。さまざまなRAGアルゴリズムの実装とテストの難しさに対処するために、標準化されたフレームワーク、事前処理済みデータセット、および最先端(SOTA)手法のライブラリを提供します。

仕組み

このツールキットは、検索エンジン、再ランクエンジン、生成エンジン、圧縮エンジンといったRAGの基本コンポーネントからなるモジュールアーキテクチャを提供します。ユーザーはこれらのコンポーネントをパイプラインに組み合わせることができます。標準的なワークフローにはSequentialPipelineが用意されており、カスタムロジックを実装するにはBasicPipelineを継承できます。多様な検索方法をサポートしており、Faissを介した密度検索、BM25sまたはPyseriniを介したスパース検索、SPLADEを介したスパースニューラル検索が可能です。LLM推論にはvLLMやFastChatなどのツールを統合し、実行を高速化します。

対象ユーザー

AI研究者や開発者を主なターゲットとしており、既存のRAGベンチマークの再現、新しいRAGアルゴリズムのテスト、複雑なタスク(マルチホップ推論やマルチモーダルRAGを含む)向けのカスタムRAGパイプラインの構築が必要な方々に適しています。

特徴

  • 広範なアルゴリズムライブラリ: 23の最先端RAGアルゴリズムと、複雑なマルチホップタスク向けの7つの推論ベース手法を含む。
  • 包括的なベンチマーク: 36の事前処理済みRAGベンチマークデータセットを提供。
  • マルチモーダル対応: MLLM(例: Llava, Qwen, InternVL)およびClipベースの検索エンジンを用いたマルチモーダルRAGをサポート。
  • 使いやすいインターフェース: RAGベースラインの可視化設定と評価に使えるFlashRAG-UIを搭載。
  • 柔軟なインデキシング: 密度検索、スパース検索、ニューラル検索に対応する複数のインデックスバックエンドをサポート。

関連

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