Back to Lightrag

🚀 LightRAG: シンプルか぀高速な怜玢拡匵生成RAG

README-ja.md

1.5.339.7 KB
Original Source
<div align="center"> <div style="margin: 20px 0;"> </div>

🚀 LightRAG: シンプルか぀高速な怜玢拡匵生成RAG

<div align="center"> <a href="https://trendshift.io/repositories/13043" target="_blank"></a> </div> <p> </p> <div align="center"> <div style="width: 100%; height: 2px; margin: 20px 0; background: linear-gradient(90deg, transparent, #00d9ff, transparent);"></div> </div> <div align="center"> <div style="background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); border-radius: 15px; padding: 25px; text-align: center;"> <p> <a href='https://github.com/HKUDS/LightRAG'></a> <a href='https://arxiv.org/abs/2410.05779'></a> <a href="https://github.com/HKUDS/LightRAG/stargazers"></a> </p> <p>
  <a href="https://pypi.org/project/lightrag-hku/"></a>
</p>
<p>
  <a href="https://discord.gg/yF2MmDJyGJ"></a>
  <a href="https://github.com/HKUDS/LightRAG/issues/285"></a>
</p>
<p>
  <a href="README-zh.md"></a>
  <a href="README.md"></a>
  <a href="README-ja.md"></a>
</p>
<p>
  <a href="https://pepy.tech/projects/lightrag-hku"></a>
</p>
</div> </div> </div> <div align="center" style="margin: 30px 0;"> </div> <div align="center" style="margin: 30px 0;"> </div>
<div align="center"> <table> <tr> <td style="vertical-align: middle;">
  </td>
  <td style="vertical-align: middle; padding-left: 12px;">
    <a href="https://litewrite.ai">
      
    </a>
  </td>
</tr>
</table> </div>

🎉 ニュヌス

  • [2026.05]🎯[新機胜]: RagAnything を LightRAG に統合🎉。MinerU / Docling サヌビスによるマルチモヌダルコンテンツの解析・抜出に察応。
  • [2026.05]🎯[新機胜]: 遞択可胜な4皮類のテキストチャンキング戊略を導入: Fix、Recursive、Vector、Paragraph。
  • [2026.05]🎯[新機胜]: ロヌル別 LLM 蚭定に察応。EXTRACT、QUERY、KEYWORDS、VLM の4぀の異なるロヌルに察し、それぞれ独立した LLM 蚭定が可胜。
  • [2026.03]🎯[新機胜]: OpenSearch を統合ストレヌゞバック゚ンドずしお統合し、LightRAG の4぀のストレヌゞすべおを包括的にサポヌト。
  • [2026.03]🎯[新機胜]: セットアップりィザヌドを導入。Docker による埋め蟌み・リランキング・ストレヌゞバック゚ンドのロヌカルデプロむに察応。
  • [2025.11]🎯[新機胜]: 評䟡のための RAGAS ず トレヌシングのための Langfuse を統合。コンテキスト粟床メトリクスをサポヌトするため、ク゚リ結果ずずもに取埗したコンテキストを返すよう API を曎新。
  • [2025.10]🎯[スケヌラビリティ匷化]: 凊理䞊のボトルネックを排陀し、倧芏暡デヌタセットを効率的にサポヌト。
  • [2025.09]🎯[新機胜] Qwen3-30B-A3B などのオヌプン゜ヌス LLM に察する知識グラフ抜出粟床を向䞊。
  • [2025.08]🎯[新機胜] リランカヌに察応。混合ク゚リのパフォヌマンスを倧幅に向䞊デフォルトのク゚リモヌドずしお蚭定。
  • [2025.08]🎯[新機胜] ドキュメント削陀機胜を远加し、最適なク゚リ性胜を保぀ために KG の自動再生成を実斜。
  • [2025.06]🎯[新リリヌス] 圓チヌムは RAG-Anything をリリヌスしたした。テキスト・画像・衚・数匏をシヌムレスに凊理するオヌルむンワンのマルチモヌダル RAG システムです。
  • [2025.06]🎯[新機胜] LightRAG は RAG-Anything 統合により包括的なマルチモヌダルデヌタ凊理に察応したした。PDF、画像、Office ドキュメント、衚、数匏を含む倚様な圢匏にわたっお、シヌムレスなドキュメント解析ず RAG 機胜を実珟したす。詳现は新しいマルチモヌダルセクションを参照しおください。
  • [2025.03]🎯[新機胜] LightRAG は匕甚機胜に察応し、適切な出兞の明瀺ずドキュメントのトレヌサビリティ向䞊を実珟したした。
  • [2025.02]🎯[新機胜] MongoDB を統合デヌタ管理のためのオヌルむンワンストレヌゞ゜リュヌションずしお利甚できるようになりたした。
  • [2025.02]🎯[新リリヌス] 圓チヌムは VideoRAG をリリヌスしたした。極めお長いコンテキストの動画を理解するための RAG システムです。
  • [2025.01]🎯[新リリヌス] 圓チヌムは MiniRAG をリリヌスしたした。小芏暡モデルで RAG をよりシンプルにしたす。
  • [2025.01]🎯PostgreSQL をデヌタ管理のためのオヌルむンワンストレヌゞ゜リュヌションずしお利甚できるようになりたした。
  • [2024.11]🎯[新リ゜ヌス] LightRAG の包括的なガむドが LearnOpenCV で公開されたした。詳现なチュヌトリアルずベストプラクティスをご芧ください。玠晎らしい貢献をいただいたブログ著者に感謝したす
  • [2024.11]🎯[新機胜] LightRAG WebUI を導入。盎感的な Web ベヌスのダッシュボヌドを通じお、LightRAG の知識を挿入・ク゚リ・可芖化できるむンタヌフェヌスです。
  • [2024.11]🎯[新機胜] Neo4J をストレヌゞずしお利甚できるようになり、グラフデヌタベヌスのサポヌトが可胜になりたした。
  • [2024.10]🎯[新機胜] LightRAG 玹介動画ぞのリンクを远加したした。LightRAG の機胜のりォヌクスルヌです。玠晎らしい貢献をいただいた著者に感謝したす
  • [2024.10]🎯[新チャンネル] Discord チャンネルを䜜成したした💬 共有・議論・コラボレヌションのため、ぜひコミュニティにご参加ください🎉🎉
<details> <summary style="font-size: 1.4em; font-weight: bold; cursor: pointer; display: list-item;"> アルゎリズムフロヌチャヌト </summary>

図1: LightRAG むンデックス䜜成フロヌチャヌト - 画像出兞: Source 図2: LightRAG 怜玢・ク゚リフロヌチャヌト - 画像出兞: Source

</details>

むンストヌル

💡 パッケヌゞ管理に uv を䜿甚: 本プロゞェクトでは、高速か぀信頌性の高い Python パッケヌゞ管理のために uv を䜿甚しおいたす。たず uv をむンストヌルしおください: curl -LsSf https://astral.sh/uv/install.sh | shUnix/macOSたたは powershell -c "irm https://astral.sh/uv/install.ps1 | iex"Windows

泚蚘: お奜みであれば pip も䜿甚できたすが、より良いパフォヌマンスず信頌性の高い䟝存関係管理のため、uv を掚奚したす。

📊 オフラむンデプロむ: オフラむン環境や゚アギャップ環境に぀いおは、すべおの䟝存関係ずキャッシュファむルを事前むンストヌルする手順を蚘したオフラむンデプロむガむドを参照しおください。

LightRAG サヌバヌのむンストヌル

  • PyPI からのむンストヌル
bash
### uv を䜿っお LightRAG サヌバヌをツヌルずしおむンストヌル掚奚
uv tool install "lightrag-hku[api]"

### たたは pip を䜿甚
# python -m venv .venv
# source .venv/bin/activate  # Windows: .venv\Scripts\activate
# pip install "lightrag-hku[api]"

### フロント゚ンド成果物のビルド
cd lightrag_webui
bun install --frozen-lockfile
bun run build
cd ..

# env ファむルのセットアップ
# env.example ファむルは GitHub リポゞトリのルヌトからダりンロヌドするか、
# ロヌカルの゜ヌスチェックアりトからコピヌしお入手しおください。
cp env.example .env  # .env を自分の LLM・埋め蟌み蚭定で曎新
# サヌバヌの起動
lightrag-server
  • ゜ヌスからのむンストヌル
bash
git clone https://github.com/HKUDS/LightRAG.git
cd LightRAG

# 開発環境のブヌトストラップ掚奚
make dev
source .venv/bin/activate  # 仮想環境の有効化Linux/macOS
# Windows の堎合: .venv\Scripts\activate

# make dev はテストツヌルチェヌンに加えお、完党なオフラむンスタック
#API、ストレヌゞバック゚ンド、プロバむダヌ統合をむンストヌルし、フロント゚ンドをビルドしたす。
# サヌバヌを起動する前に、make env-base を実行するか env.example を .env にコピヌしおください。

# uv による同等の手動手順
# 泚蚘: uv sync は .venv/ ディレクトリに自動的に仮想環境を䜜成したす
uv sync --extra test --extra offline
source .venv/bin/activate  # 仮想環境の有効化Linux/macOS
# Windows の堎合: .venv\Scripts\activate

### たたは仮想環境付きで pip を䜿甚
# python -m venv .venv
# source .venv/bin/activate  # Windows: .venv\Scripts\activate
# pip install -e ".[test,offline]"

# フロント゚ンド成果物のビルド
cd lightrag_webui
bun install --frozen-lockfile
bun run build
cd ..

# env ファむルのセットアップ
make env-base  # たたは: cp env.example .env しお手動で曎新
# API-WebUI サヌバヌの起動
lightrag-server
  • Docker Compose による LightRAG サヌバヌの起動
bash
git clone https://github.com/HKUDS/LightRAG.git
cd LightRAG
cp env.example .env  # .env を自分の LLM・埋め蟌み蚭定で曎新
# .env で LLM ず埋め蟌みの蚭定を倉曎
docker compose up

LightRAG docker むメヌゞの過去バヌゞョンはこちらで確認できたす: LightRAG Docker Images

GitHub Actions により公開された公匏 GHCR むメヌゞは、GitHub OIDC を甚いた Sigstore Cosign で眲名されおいたす。怜蚌コマンドに぀いおは docs/DockerDeployment.md を参照しおください。

セットアップツヌルによる .env ファむルの䜜成

env.example を手䜜業で線集する代わりに、察話型のセットアップりィザヌドを䜿っお蚭定枈みの .env、必芁に応じお docker-compose.final.yml を生成できたす:

bash
make env-base           # 必須の最初のステップ: LLM、埋め蟌み、リランカヌ
make env-storage        # 任意: ストレヌゞバック゚ンドずデヌタベヌスサヌビス
make env-server         # 任意: サヌバヌポヌト、認蚌、SSL
make env-base-rewrite   # 任意: りィザヌド管理の compose サヌビスを匷制再生成
make env-storage-rewrite # 任意: りィザヌド管理の compose サヌビスを匷制再生成
make env-security-check # 任意: 珟圚の .env のセキュリティリスクを監査

各タヌゲットの詳现な説明に぀いおは docs/InteractiveSetup.md を参照しおください。

LightRAG に぀いお

軜量なグラフベヌス RAG フレヌムワヌク

LightRAG は、法埋・医療・金融などの分野における耇雑なドキュメントの分析向けに特別に蚭蚈された、軜量な怜玢拡匵生成RAGフレヌムワヌクです。Microsoft GraphRAG に察する高効率な代替手段ずしお機胜したす。知識グラフKGずベクトル埋め蟌みを同時に管理するデュアルレベルアヌキテクチャを掻甚するこずで、埓来のベクトルベヌス RAG ずグラフベヌス RAG の技術的なギャップを完璧に埋めたす。さらに、倧芏暡デヌタを扱う際の GraphRAG の䞻芁なボトルネック、すなわち重い蚈算オヌバヌヘッド、遅い応答時間、法倖な増分曎新コストずいった問題を効果的に解決したす。高いスケヌラビリティを䞭栞に据えお蚭蚈されおおり、30B300億パラメヌタのオヌプン゜ヌス倧芏暡蚀語モデルLLMで駆動した堎合でも、卓越した情報抜出粟床を維持しながら巚倧なデヌタセットをサポヌトしたす。

機胜ず利点

  • 深いコンテキスト理解: グラフ構造化むンデックスを通じお、LightRAG ぱンティティ間の耇雑な意味的䟝存関係を捉え、埓来のチャンクベヌス怜玢手法に兞型的な断片化したコンテキストの限界を克服したす。その生成品質ずコンテキスト認識は、グロヌバルな理解や論理的掚論を必芁ずする垂盎ドメむン䟋: 法埋、金融においお特に優れおいたす。
  • 卓越した網矅性ず倚様性: LightRAG のデュアルレベル怜玢メカニズムにより、詳现な事実ず抜象的な抂念を同時に統合できたす。これにより、ク゚リ結果の網矅性ず倚様性においお顕著なパフォヌマンスを達成し、耇雑なクロスドキュメントク゚リの凊理に極めお効果的です。
  • 極めお高い怜玢効率ず䜎コスト: LightRAG は、耇雑なク゚リに察しお非効率なコミュニティレポヌトやマルチホップ掚論に䟝存したせん。これにより、むンデックス䜜成段階ずク゚リ段階の双方で必芁ずなる LLM 呌び出し回数を倧幅に削枛し、応答レむテンシず LLM の蚈算コストを著しく䜎枛したす。
  • 動的デヌタぞの迅速な適応: LightRAG は、シヌムレスな増分知識ベヌス曎新をサポヌトしたす。新しいデヌタは暙準的なグラフむンデックス䜜成パむプラむンを通すだけでロヌカルグラフを生成し、集合のマヌゞによっお既存のグラフに盎接統合されたす。このプロセスにより、元の構造を砎壊したりグロヌバルむンデックスを再構築したりする必芁がなくなり、動的なデヌタ環境におけるリアルタむムな関連性を保蚌したす。ドキュメント削陀時には、構築段階での LLM キャッシュを掻甚しお、圱響を受けた゚ンティティ関係を迅速に再構築し、知識ベヌスの曎新効率を倧幅に向䞊させたす。

マルチモヌダル機胜のアップグレヌド

バヌゞョン v1.5 から、LightRAG はマルチモヌダルドキュメントの分析・怜玢機胜を正匏に導入したした:

  • マルチ゚ンゞンによるドキュメント解析: ドキュメント凊理パむプラむンは MinerU、Docling、Native などの解析゚ンゞンをサポヌトし、ドキュメントからテキスト・衚・数匏・画像を高効率に抜出できたす。
  • クロスモヌダルな゚ンティティ・関係マッピング: 統䞀されたフレヌムワヌク内でクロスモヌダルな゚ンティティ抜出ず関係マッピングを実珟し、シヌムレスなむンデックス䜜成ずク゚リをもたらしたす。
  • 応甚シナリオの匷化: たったく新しいマルチモヌダル凊理パむプラむンにより、操䜜マニュアルや孊術論文ずいったマルチモヌダルコンテンツに富むドキュメントに察する RAG 品質が倧幅に向䞊したす。

LightRAG API サヌバヌ

LightRAG サヌバヌは、LightRAG の機胜を探玢するための Web ベヌス UI だけでなく、包括的な REST API も提䟛したす。LightRAG サヌバヌの詳现に぀いおは LightRAG Server を参照しおください。

䞻芁な蚭定ガむド

LLM モデルの遞択

LightRAG はワヌクフロヌ䞭に4぀の異なるロヌルの LLM/VLM を必芁ずしたす。パフォヌマンスず凊理速床のバランスを取るため、ロヌルごずに異なる胜力ず速床のモデルを蚭定すべきです。LightRAG は、ドキュメントから耇雑な゚ンティティ関係抜出タスクを実行するために LLM を必芁ずするため、埓来の RAG よりも倧芏暡蚀語モデルLLMに察する胜力芁件が高くなりたす。ク゚リ段階では、LLM ぱンティティ、関係、テキストチャンクを含む倧量の取埗情報を凊理する必芁がありたす。これには、長くノむズの倚いコンテキストの䞭で高品質な応答を生成する胜力がモデルに求められたす。詳现なモデル蚭定に぀いおは RoleSpecificLLMConfiguration.md を参照しおください。

ク゚リモヌドの遞択

LightRAG は5぀のク゚リモヌドをサポヌトしたす:

  • local: ロヌカルなコンテキストず特定の゚ンティティの粟密なマッチングに焊点を圓おたす。知識グラフから候補゚ンティティずその盎接関連する属性を取埗したす。このモヌドは、特定の察象、具䜓的な抂念、詳现な事実を狙った Q&A に適しおおり、関連性が高く詳现なロヌカルコンテキストのサポヌトを提䟛したす。
  • global: マクロなテヌマ、クロスドキュメント掚論、゚ンティティ間の深い関係に焊点を圓おたす。広範なテヌマず抂念をカバヌする関係チェヌンを取埗したす。このモヌドは、耇数のコンテキストにたたがる芁玄、トレンド分析、耇雑な意味的䟝存関係の理解を必芁ずするク゚リに適しおいたす。
  • hybrid: local モヌドず global モヌドの䞡方の怜玢結果をマヌゞしたす。特定の゚ンティティずグロヌバルな関係コンテキストを同時に再珟するこずで、包括的な掚論ず生成を実行したす。
  • naive: テキストチャンクに基づく埓来の RAG 怜玢です。知識グラフを䜿甚せず、ベクトル類䌌床に盎接䟝存しお元のテキストチャンクから取埗したす。
  • mix: local、global、naive モヌドの怜玢結果をマヌゞし、最も包括的で豊富な怜玢結果を提䟛するフル機胜のモヌドです。

LightRAG のデフォルトのク゚リモヌドは mix です。mix モヌドを䜿甚するず、䞀般に最も理想的なク゚リ結果が埗られたす。mix モヌドは naive よりわずかに時間がかかりたすが、その他のク゚リモヌドはレむテンシがおおむね同等です。

埋め蟌みモデル

埋め蟌みモデルを遞ぶ際は、その倚蚀語サポヌト胜力に泚意しおください。LightRAG の怜玢品質は埋め蟌みモデルぞの䟝存床が限定的であるため、䜎次元で高速なモデルを遞ぶこずを掚奚したす。通垞、BAAI/bge-m3 で十分です。最良のパフォヌマンスを埗るため、埋め蟌みモデルをロヌカルにデプロむするこずを匷く掚奚したす。

重芁な泚蚘: 埋め蟌みモデルはドキュメントのむンデックス䜜成前に確定する必芁があり、ク゚リ段階でも同じモデルを䜿甚しなければなりたせん。䞀床遞択するず、埋め蟌みモデルは䞀般に倉曎できたせん。倉曎した堎合は、すべおのテキストチャンク、゚ンティティ、関係を再埋め蟌みする必芁がありたす。LightRAG は珟圚、再埋め蟌みツヌルを提䟛しおいたせん。䞀郚のストレヌゞバック゚ンド䟋: PostgreSQLでは、テヌブルの初回䜜成時にベクトル次元を定矩する必芁があるため、埋め蟌みモデルを倉曎するにはベクトル関連テヌブルを削陀し、LightRAG が再䜜成できるようにする必芁がありたす。

リランキングの有効化

ク゚リ段階で Rerank オプションを有効にするず、ク゚リ品質が倧幅に向䞊したす。ただし、Rerank を有効にするず通垞 12 秒の遅延が生じたす。レむテンシを最小化するため、Rerank モデルをロヌカルにデプロむするこずを匷く掚奚したす。蚭定の詳现に぀いおは .env.example ファむルを参照しおください。埋め蟌みモデルずは異なり、Rerank モデルはク゚リ段階でい぀でも倉曎できたす。

ドキュメント凊理パむプラむンの蚭定

LightRAG のデフォルトのパむプラむン蚭定では、システムが最高の性胜を発揮できたせん。ドキュメント解析の品質はドキュメントのむンデックス䜜成ずク゚リに倧きく圱響したす。そのため、MinerU 解析゚ンゞンを有効にし、パむプラむンの画像分析機胜を有効化するようパむプラむンを蚭定するこずを掚奚したす。掚奚蚭定:

LIGHTRAG_PARSER=*:native-iteP,*:mineru-iteP,*:legacy-R

VLM_PROCESS_ENABLE=true
VLM_LLM_MODEL=<your_vlm_model_name>

クラりドベヌスの MinerU サヌビスには利甚量・ファむルサむズ・ペヌゞ数の制限があるため、ロヌカルにデプロむした MinerU を䜿甚するこずを掚奚したす。ファむル凊理パむプラむンの蚭定の詳现に぀いおは FileProcessingPipeline.md を参照しおください。

ファむル凊理の䞊行性最適化

倧芏暡なドキュメント凊理では、䞊行性を高める必芁がありたす。ファむルの䞊行凊理に関連する䞻芁な環境倉数は以䞋のずおりです:

  • MAX_ASYNC_LLM/EXTRACT_ASYNC_LLM: LLM モデルの最倧䞊行数を制埡したす。
  • MAX_PARALLEL_INSERT: 䞊行凊理されるファむルの最倧数を制埡したす。1぀のファむル内のテキスト・衚・数匏・画像の凊理も䞊行しお行われたす。MAX_PARALLEL_INSERT は理想的には MAX_ASYNC_LLM の玄1/3に蚭定すべきです。
  • MAX_PARALLEL_PARSE_MINERU: MinerU 解析で䞊行凊理されるファむル数を制埡したす。
  • MAX_PARALLEL_PARSE_DOCLING: Docling 解析で䞊行凊理されるファむル数を制埡したす。
  • EMBEDDING_FUNC_MAX_ASYNC: 埋め蟌みモデルの最倧䞊行数を制埡したす。
  • EMBEDDING_BATCH_NUM: 埋め蟌みモデルの各リク゚ストに含めるテキスト数1バッチあたりの埋め蟌み数を制埡したす。この数を増やすず、埋め蟌みモデルぞの API 呌び出し回数を倧幅に削枛でき、埋め蟌みストレヌゞぞのデヌタ氞続化を高速化できたす。
# 蚭定䟋
MAX_ASYNC_LLM=8
MAX_PARALLEL_INSERT=3
EMBEDDING_FUNC_MAX_ASYNC=16
EMBEDDING_BATCH_NUM=32

バック゚ンドストレヌゞの遞択

LightRAG は4皮類のバック゚ンドストレヌゞを必芁ずしたす:

  • KV_STORAGE: LLM 応答キャッシュ、テキストチャンキング結果、゚ンティティ関係抜出結果などの保存に䜿甚したす。
  • VECTOR_STORAGE: テキストチャンク、゚ンティティ、関係のベクトル情報の保存に䜿甚したす。
  • GRAPH_STORAGE: 知識グラフの保存に䜿甚したす。
  • DOC_STATUS_STORAGE: ドキュメントリストの保存に䜿甚したす。

デフォルトでは、LightRAG のストレヌゞバック゚ンドはファむル氞続化されたむンメモリデヌタベヌスです。これらのデフォルトストレヌゞは開発・デバッグ甚途のみを想定しおおり、本番環境には適しおいたせん。本番環境で、4皮類すべおのストレヌゞを単䞀のバック゚ンドで扱いたい堎合は、PostgreSQL、MongoDB、たたは OpenSearch を遞択できたす。あるいは、ベクトルストレヌゞに Milvus や Qdrant、グラフストレヌゞに Neo4j や Memgraph を䜿甚するなど、ベクトルやグラフのストレヌゞに専甚デヌタベヌスを遞択するこずもできたす。

ドキュメント凊理に関するその他の重芁な蚭定

ドキュメント挿入段階では、ニヌズに応じお以䞋の環境倉数の調敎を怜蚎するずよいでしょう:

  • SUMMARY_LANGUAGE: LLM が゚ンティティ関係名や芁玄を出力する際に䜿甚する蚀語を制埡したす䟋: Chinese、English。
  • ENTITY_EXTRACTION_USE_JSON: LLM が゚ンティティ関係抜出を JSON 圢匏で出力するかどうかを制埡したす。JSON 圢匏を䜿甚するず通垞より安定した結果が埗られたすが、より倚くのトヌクンを消費し、やや遅くなるこずがありたす。
  • ENABLE_CONTENT_HEADINGS: ク゚リ段階でテキストチャンクのセクション芋出し情報を LLM に送信するかどうかを制埡したすデフォルトで有効。LLM により倚くのコンテキストを提䟛したす。
  • FORCE_LLM_SUMMARY_ON_MERGE / MAX_SOURCE_IDS_PER_RELATION: 1぀の entity/relation が関連付けられるテキストチャンクの最倧数を制埡したす。
  • SOURCE_IDS_LIMIT_METHOD: ある entity/relation が関連テキストチャンク数の䞊限を超えた埌も、゚ンティティ/関係の説明を曎新し続けるかどうかを制埡したすデフォルトでは曎新を停止したす。その時点で゚ンティティ関係の説明はすでに十分豊富であり、さらなる曎新はほずんど䟡倀を加えないためです。曎新をスキップするこずで知識ベヌスの構築を倧幅に高速化できたす。
  • DEFAULT_MAX_FILE_PATHS: 1぀の entity/relation が関連付けられる゜ヌスファむルの最倧数を制埡したす。この䞊限を超えるず、新しいファむル名はベクトルストレヌゞに曞き蟌たれなくなりたす。
  • OPENAI_LLM_MAX_TOKENS / OPENAI_LLM_MAX_COMPLETION_TOKENS: 䞀郚の LLM による際限のない出力を防ぐため、最倧出力トヌクン制限を蚭定したす。際限のない出力は、゚ンティティず関係の抜出䞭にタむムアりト゚ラヌを匕き起こす可胜性がありたす。LLM プロバむダヌごずに異なるパラメヌタ蚭定が必芁です。詳现は env.example に蚘茉されおいたす。

ドキュメントク゚リに関するその他の重芁な蚭定

ドキュメントク゚リ段階では、ニヌズに応じお以䞋の環境倉数の調敎を怜蚎するずよいでしょう:

  • MAX_ENTITY_TOKENS / MAX_RELATION_TOKENS / MAX_TOTAL_TOKENS: LLM コンテキストに送信される取埗コンテンツのトヌクン長を制埡したす。取埗コンテンツは entities、relations、text chunks の3぀の郚分から構成されたす。゚ンティティず関係の長さは独立しお制埡でき、テキストチャンクの長さは総長から゚ンティティず関係の長さを差し匕いお決たりたす。
  • ENABLE_CONTENT_HEADINGS: テキストチャンクが存圚するセクション芋出しを LLM に送信するかどうかを制埡したす。デフォルトで有効で、LLM により豊富なコンテキストを提䟛し、回答品質を向䞊させたす。
  • ENABLE_LLM_CACHE: ク゚リ結果をキャッシュするかどうか。デフォルトで有効です。同䞀のク゚リ質問、ク゚リモヌド、LLM モデルパラメヌタであれば同じ結果を返したす。

SDK ずしおの LightRAG の利甚

⚠ プロゞェクトぞの統合には、LightRAG サヌバヌが提䟛する REST API の䜿甚を匷く掚奚したす。 LightRAG SDK は䞻に組み蟌みアプリケヌションや孊術研究・評䟡目的を想定しおいたす。

LightRAG SDK のむンストヌル

  • ゜ヌスコヌドからのむンストヌル
bash
cd LightRAG
# 泚蚘: uv sync は .venv/ ディレクトリに自動的に仮想環境を䜜成したす
uv sync
source .venv/bin/activate  # 仮想環境の有効化Linux/macOS
# Windows の堎合: .venv\Scripts\activate

# たたは: pip install -e .
  • PyPI からのむンストヌル
bash
uv pip install lightrag-hku
# たたは: pip install lightrag-hku

LightRAG SDK サンプルコヌド

LightRAG コアを䜿い始めるには、examples フォルダにあるサンプルコヌドを参照しおください。さらに、ロヌカルセットアップ手順を案内するデモ動画も甚意されおいたす。すでに OpenAI API キヌをお持ちであれば、すぐにデモを実行できたす:

bash
### デモコヌドはプロゞェクトフォルダ内で実行しおください
cd LightRAG
### OpenAI 甚の API-KEY を指定
export OPENAI_API_KEY="sk-...your_opeai_key..."
### Charles Dickens 著「A Christmas Carol」のデモドキュメントをダりンロヌド
curl https://raw.githubusercontent.com/gusye1234/nano-graphrag/main/tests/mock_data.txt > ./book.txt
### デモコヌドを実行
python examples/lightrag_openai_demo.py

ストリヌミング応答の実装䟋に぀いおは、examples/lightrag_openai_compatible_demo.py を参照しおください。実行前に、サンプルコヌドの LLM ず埋め蟌みの蚭定を適宜倉曎しおください。

泚蚘1: デモプログラムを実行する際は、テストスクリプトによっお異なる埋め蟌みモデルが䜿甚される堎合があるこずに泚意しおください。別の埋め蟌みモデルに切り替える堎合は、デヌタディレクトリ./dickensをクリアする必芁がありたす。そうしないずプログラムで゚ラヌが発生する可胜性がありたす。LLM キャッシュを保持したい堎合は、デヌタディレクトリをクリアする際に kv_store_llm_response_cache.json ファむルを残すこずができたす。

泚蚘2: 公匏にサポヌトされおいるサンプルコヌドは lightrag_openai_demo.py ず lightrag_openai_compatible_demo.py のみです。その他のサンプルファむルはコミュニティによる貢献であり、完党なテストず最適化を経おいたせん。

SDK 利甚に関する泚蚘

SDK の利甚に関する詳现な手順に぀いおは、docs/ProgramingWithCore.md を参照しおください。䞀郚の LightRAG 機胜は REST API では公開されおおらず、SDK 経由でのみアクセス可胜です。これらの機胜は通垞、実隓的なものであり、将来のバヌゞョンず互換性がない堎合がありたす。

論文の結果の再珟

LightRAG は、蟲業、コンピュヌタサむ゚ンス、法埋、混合ドメむンにわたっお、NaiveRAG、RQ-RAG、HyDE、GraphRAG を䞀貫しお䞊回りたす。完党な評䟡方法論、プロンプト、再珟手順に぀いおは、docs/Reproduce.md を参照しおください。

党䜓性胜テヌブル

AgricultureCSLegalMix
NaiveRAGLightRAGNaiveRAGLightRAGNaiveRAGLightRAGNaiveRAGLightRAG
Comprehensiveness32.4%67.6%38.4%61.6%16.4%83.6%38.8%61.2%
Diversity23.6%76.4%38.0%62.0%13.6%86.4%32.4%67.6%
Empowerment32.4%67.6%38.8%61.2%16.4%83.6%42.8%57.2%
Overall32.4%67.6%38.8%61.2%15.2%84.8%40.0%60.0%
RQ-RAGLightRAGRQ-RAGLightRAGRQ-RAGLightRAGRQ-RAGLightRAG
Comprehensiveness31.6%68.4%38.8%61.2%15.2%84.8%39.2%60.8%
Diversity29.2%70.8%39.2%60.8%11.6%88.4%30.8%69.2%
Empowerment31.6%68.4%36.4%63.6%15.2%84.8%42.4%57.6%
Overall32.4%67.6%38.0%62.0%14.4%85.6%40.0%60.0%
HyDELightRAGHyDELightRAGHyDELightRAGHyDELightRAG
Comprehensiveness26.0%74.0%41.6%58.4%26.8%73.2%40.4%59.6%
Diversity24.0%76.0%38.8%61.2%20.0%80.0%32.4%67.6%
Empowerment25.2%74.8%40.8%59.2%26.0%74.0%46.0%54.0%
Overall24.8%75.2%41.6%58.4%26.4%73.6%42.4%57.6%
GraphRAGLightRAGGraphRAGLightRAGGraphRAGLightRAGGraphRAGLightRAG
Comprehensiveness45.6%54.4%48.4%51.6%48.4%51.6%50.4%49.6%
Diversity22.8%77.2%40.8%59.2%26.4%73.6%36.0%64.0%
Empowerment41.2%58.8%45.2%54.8%43.6%56.4%50.8%49.2%
Overall45.2%54.8%48.0%52.0%47.2%52.8%50.4%49.6%

🔗 関連プロゞェクト

゚コシステムず拡匵機胜

<div align="center"> <table> <tr> <td align="center"> <a href="https://github.com/HKUDS/RAG-Anything"> <div style="width: 100px; height: 100px; background: linear-gradient(135deg, rgba(0, 217, 255, 0.1) 0%, rgba(0, 217, 255, 0.05) 100%); border-radius: 15px; border: 1px solid rgba(0, 217, 255, 0.2); display: flex; align-items: center; justify-content: center; margin-bottom: 10px;"> <span style="font-size: 32px;">📞</span> </div> <b>RAG-Anything</b>
      <sub>マルチモヌダル RAG</sub>
    </a>
  </td>
  <td align="center">
    <a href="https://github.com/HKUDS/VideoRAG">
      <div style="width: 100px; height: 100px; background: linear-gradient(135deg, rgba(0, 217, 255, 0.1) 0%, rgba(0, 217, 255, 0.05) 100%); border-radius: 15px; border: 1px solid rgba(0, 217, 255, 0.2); display: flex; align-items: center; justify-content: center; margin-bottom: 10px;">
        <span style="font-size: 32px;">🎥</span>
      </div>
      <b>VideoRAG</b>

      <sub>極めお長いコンテキストの動画 RAG</sub>
    </a>
  </td>
  <td align="center">
    <a href="https://github.com/HKUDS/MiniRAG">
      <div style="width: 100px; height: 100px; background: linear-gradient(135deg, rgba(0, 217, 255, 0.1) 0%, rgba(0, 217, 255, 0.05) 100%); border-radius: 15px; border: 1px solid rgba(0, 217, 255, 0.2); display: flex; align-items: center; justify-content: center; margin-bottom: 10px;">
        <span style="font-size: 32px;">✹</span>
      </div>
      <b>MiniRAG</b>

      <sub>極めおシンプルな RAG</sub>
    </a>
  </td>
</tr>
</table> </div>

⭐ スタヌ履歎

🀝 貢献

<div align="center"> バグ修正、新機胜、ドキュメントの改善など、あらゆる皮類の貢献を歓迎したす。

プルリク゚ストを送信する前に、<a href=".github/CONTRIBUTING.md"><strong>貢献ガむド</strong></a>をお読みください。

</div> <div align="center"> 貎重な貢献をいただいたすべおのコントリビュヌタヌに感謝したす。 </div> <div align="center"> <a href="https://github.com/HKUDS/LightRAG/graphs/contributors"> </a> </div>

📖 匕甚

python
@article{guo2024lightrag,
title={LightRAG: Simple and Fast Retrieval-Augmented Generation},
author={Zirui Guo and Lianghao Xia and Yanhua Yu and Tu Ao and Chao Huang},
year={2024},
eprint={2410.05779},
archivePrefix={arXiv},
primaryClass={cs.IR}
}

<div align="center" style="background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); border-radius: 15px; padding: 30px; margin: 30px 0;"> <div> </div> <div style="margin-top: 20px;"> <a href="https://github.com/HKUDS/LightRAG" style="text-decoration: none;">
</a>
<a href="https://github.com/HKUDS/LightRAG/issues" style="text-decoration: none;">
  
</a>
<a href="https://github.com/HKUDS/LightRAG/discussions" style="text-decoration: none;">
  
</a>
</div> </div> <div align="center"> <div style="width: 100%; max-width: 600px; margin: 20px auto; padding: 20px; background: linear-gradient(135deg, rgba(0, 217, 255, 0.1) 0%, rgba(0, 217, 255, 0.05) 100%); border-radius: 15px; border: 1px solid rgba(0, 217, 255, 0.2);"> <div style="display: flex; justify-content: center; align-items: center; gap: 15px;"> <span style="font-size: 24px;">⭐</span> <span style="color: #00d9ff; font-size: 18px;">LightRAG をご芧いただきありがずうございたす</span> <span style="font-size: 24px;">⭐</span> </div> </div> </div>