Skip to content

Latest commit

 

History

History
160 lines (118 loc) · 8.13 KB

README_JA.md

File metadata and controls

160 lines (118 loc) · 8.13 KB

MiniRAG: 極めてシンプルな検索強化生成に向けて

MiniRAG

コードリポジトリ: MiniRAG: Towards Extremely Simple Retrieval-Augmented Generation

Tianyu Fan, Jingyuan Wang, Xubin Ren, Chao Huang* (*Correspondence)

🌍 READMEの翻訳

English | 中文

TLDR

MiniRAGは、異種グラフインデックスと軽量なトポロジー強化検索を通じて、小さなモデルでも優れたRAGパフォーマンスを実現する極めてシンプルな検索強化生成フレームワークです。

概要

効率的で軽量な検索強化生成(RAG)システムの需要が高まる中、既存のRAGフレームワークに小型言語モデル(SLM)を導入する際の重大な課題が浮き彫りになっています。現在のアプローチは、SLMの限られた意味理解とテキスト処理能力のために深刻な性能低下に直面しており、リソースが限られたシナリオでの広範な採用に障害をもたらしています。これらの根本的な制限に対処するために、私たちは極めてシンプルで効率的な新しいRAGシステムであるMiniRAGを提案します。MiniRAGは、2つの重要な技術革新を導入しています:(1)テキストチャンクと名前付きエンティティを統一構造に組み合わせる意味認識異種グラフインデックスメカニズム、これにより複雑な意味理解への依存を減らします。(2)高度な言語能力を必要とせずにグラフ構造を活用して効率的な知識発見を実現する軽量なトポロジー強化検索アプローチ。私たちの広範な実験は、MiniRAGがSLMを使用してもLLMベースの方法と同等の性能を達成しながら、ストレージスペースの25%しか必要としないことを示しています。さらに、複雑なクエリを持つ現実的なオンデバイスシナリオで軽量RAGシステムを評価するための包括的なベンチマークデータセットLiHua-Worldも提供します。

MiniRAGフレームワーク

MiniRAG

MiniRAGは、異種グラフインデックスと軽量なグラフベースの知識検索という主要なコンポーネントに基づいて構築された簡素化されたワークフローを採用しています。このアーキテクチャは、オンデバイスRAGシステムが直面する独自の課題に対処し、効率と効果の両方を最適化します。

インストール

  • ソースからインストール(推奨)
cd MiniRAG
pip install -e .
  • PyPIからインストール(私たちのコードはLightRAGに基づいているため、直接インストールできます)
pip install lightrag-hku

クイックスタート

  • すべてのコードは./reproduceにあります。
  • 必要なデータセットをダウンロードします。
  • データセットを./datasetディレクトリに配置します。
  • 注:LiHua-Worldデータセットは./dataset/LiHua-World/data/LiHuaWorld.zipとして既に配置されています。他のデータセットを使用したい場合は、./dataset/xxxに配置できます。

次に、以下のbashコマンドを使用してデータセットをインデックスします:

python ./reproduce/Step_0_index.py
python ./reproduce/Step_1_QA.py

または、./main.pyのコードを使用してMiniRAGを初期化します。

全体のパフォーマンステーブル

モデル NaiveRAG GraphRAG LightRAG MiniRAG
acc↑ err↓ acc↑ err↓ acc↑ err↓ acc↑ err↓
LiHua-World
Phi-3.5-mini-instruct 41.22% 23.20% / / 39.81% 25.39% 53.29% 23.35%
GLM-Edge-1.5B-Chat 42.79% 24.76% / / 35.74% 25.86% 52.51% 25.71%
Qwen2.5-3B-Instruct 43.73% 24.14% / / 39.18% 28.68% 48.75% 26.02%
MiniCPM3-4B 43.42% 17.08% / / 35.42% 21.94% 51.25% 21.79%
gpt-4o-mini 46.55% 19.12% 35.27% 37.77% 56.90% 20.85% 54.08% 19.44%
MultiHop-RAG
Phi-3.5-mini-instruct 42.72% 31.34% / / 27.03% 11.78% 49.96% 28.44%
GLM-Edge-1.5B-Chat 44.44% 24.26% / / / / 51.41% 23.44%
Qwen2.5-3B-Instruct 39.48% 31.69% / / 21.91% 13.73% 48.55% 33.10%
MiniCPM3-4B 39.24% 31.42% / / 19.48% 10.41% 47.77% 26.88%
gpt-4o-mini 53.60% 27.19% 60.92% 16.86% 64.91% 19.37% 68.43% 19.41%

表中、/はその方法が効果的な応答を生成するのに苦労していることを意味します。

再現

すべてのコードは./reproduceディレクトリにあります。

コード構造

├── dataset
│   └── LiHua-World
│       ├── README.md
│       ├── README_CN.md
│       ├── data
│       │   ├── LiHuaWorld.zip
│       └── qa
│           ├── query_set.csv
│           └── query_set.json
├── minirag
│   ├── kg
│   │   ├── __init__.py
│   │   ├── neo4j_impl.py
│   │   └── oracle_impl.py
│   ├── __init__.py
│   ├── base.py
│   ├── llm.py
│   ├── minirag.py
│   ├── operate.py
│   ├── prompt.py
│   ├── storage.py
│   └── utils.py
├── reproduce
│   ├── Step_0_index.py
│   └── Step_1_QA.py
├── LICENSE
├── main.py
├── README.md
├── README_CN.md
├── requirements.txt
├── setup.py

データセット: LiHua-World

LiHuaWorld

LiHua-Worldは、仮想ユーザーLiHuaの1年間のチャット記録を含む、オンデバイスRAGシナリオ専用に設計されたデータセットです。このデータセットには、シングルホップ、マルチホップ、およびサマリーの3種類の質問が含まれており、各質問には手動で注釈が付けられた回答とサポート文書がペアになっています。詳細については、LiHua-WorldデータセットのREADMEを参照してください。

Star History

Star History Chart

Contribution

MiniRAGプロジェクトのすべての貢献者に感謝します!

謝辞

私たちのフレームワークとコードリポジトリの基礎となる関連作業については、nano-graphragおよびLightRAGを参照してください。素晴らしい仕事に感謝します。

🌟引用

@article{fan2025minirag,
  title={MiniRAG: Towards Extremely Simple Retrieval-Augmented Generation},
  author={Fan, Tianyu and Wang, Jingyuan and Ren, Xubin and Huang, Chao},
  journal={arXiv preprint arXiv:2501.06713},
  year={2025}
}

私たちの仕事に興味を持っていただき、ありがとうございます!