本周阅读摘选
2026-05-11 → 2026-05-17
目录
学术相关
LightRAG
One-sentence positioning: Integrates graph structure into the text indexing and retrieval process, achieving comprehensive answers to complex queries while maintaining retrieval efficiency through a dual-layer retrieval system (low-level entity retrieval + high-level relation retrieval) with graph-vector hybrid representation.
Key innovation: Replaces traditional chunk traversal and pure embedding matching with key-value structures, combining dual-layer query decomposition with one-hop neighbor expansion to support both concrete entity local retrieval and abstract concept global association.
0. Execution Overview
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| Offline Phase (one-time construction)
├─ ① Text chunking (chunk size = 1200)
├─ ② Extract entities and relations (LLM-based)
├─ ③ Generate key-value pairs for each entity/relation
│ - K: words or phrases convenient for retrieval
│ - V: relevant segments from the original document
├─ ④ Deduplication (reduce graph scale)
└─ ⑤ Build graph structure (nodes = entities, edges = relations)
↓
Online Phase (per query)
├─ ⑥ Query keyword extraction (intent identification: Low-Level vs High-Level)
├─ ⑦ Keyword matching (vector similarity retrieval)
│ - Low-Level → match entity Nodes
│ - High-Level → match relation Edges
├─ ⑧ Incorporate high-order relatedness (supplement one-hop neighbors)
└─ ⑨ Concatenate context and generate answer
↓
Incremental Update (new data added)
└─ ⑩ Execute ①~③ on new documents, union with original graph, no full rebuild needed
|
1. High-level Design (Indexing → Retrieval → Generation)
1.1 Indexing
| Dimension |
Approach |
| Chunking strategy |
Fixed token size chunking (default 1200) |
| Index structure |
Graph index + vector index (hybrid) |
| Knowledge representation |
Entity-relation graph + key-value pairs (K=retrieval keywords, V=original document segments) |
| Construction cost |
Medium (LLM extracts entities/relations + generates K-V pairs, but lighter than GraphRAG’s recursive community summarization) |
| Core characteristic |
Graph-based text index with incremental updates requiring no full database reprocessing |
1.2 Retrieval
| Dimension |
Approach |
| Retrieval method |
Hybrid (vector similarity + graph traversal expansion) |
| Retrieval granularity |
Entity / Relation / One-hop neighbor subgraph |
| Iteration strategy |
Single retrieval + neighbor expansion (not iterative multi-hop) |
| Query processing |
Query decomposed into Low-Level (concrete/local) and High-Level (abstract/global) keywords |
| Core characteristic |
Dual-layer retrieval system: matches entity nodes for concrete queries, matches relation edges for abstract queries |
1.3 Generation
| Dimension |
Approach |
| Context injection |
Direct concatenation of retrieved entities, relation descriptions, and neighbor information |
| Citation tracing |
Based on V in key-value pairs (original document segments) |
| Quality control |
Standard LLM generation (no special post-processing) |
| Core characteristic |
Graph structure provides cross-chunk multi-hop associations, solving vector RAG’s context fragmentation problem |
2. Offline Construction: Indexing (Detailed Execution)
Step 2.1 Text Chunking
| Item |
Description |
| Input |
Raw document collection |
| Operation |
Segment text by fixed token size (default chunk size = 1200) |
| Key decision |
Chunk size fixed at 1200, consistent with GraphRAG and other baselines for fair comparison |
| Output |
Text Chunks |
Step 2.2 Entity and Relation Extraction
| Item |
Description |
| Input |
Text Chunks |
| Operation |
LLM extracts entities and relations from each chunk |
| Key decision |
Uses LLM (default GPT-4o-mini) for extraction; gleaning parameter fixed at 1 |
| Output |
Entity set + relation set |
Step 2.3 Key-Value Pair Generation (Core Design)
| Item |
Description |
| Input |
Extracted entities and relations |
| Operation |
For each entity and relation, LLM generates (K, V) pairs |
| Key decision |
K uses retrieval-friendly words or phrases (not full descriptions); V uses relevant segments from the original document |
| Output |
Entity nodes and relation edges with K-V attributes |
Why this design? Traditional RAG relies on embedding matching or chunk traversal — the former has low precision, the latter has low efficiency. The key-value structure separates retrieval keywords from original evidence, optimizing retrieval speed while preserving provenance capability.
Step 2.4 Deduplication
| Item |
Description |
| Input |
Entities/relations extracted from each chunk |
| Operation |
Merge duplicate entities and relations, reducing graph scale |
| Output |
Deduplicated knowledge graph |
Step 2.5 Incremental Update
| Item |
Description |
| Input |
New document D’ |
| Operation |
Execute the same indexing steps on new documents, generate new graph data, then take the union of node sets and edge sets with the original graph |
| Key decision |
No full rebuild required; union-based merging; stands in stark contrast to GraphRAG’s community structure decomposition and rebuild |
| Output |
Updated knowledge graph |
Comparison with GraphRAG: When new data is added, GraphRAG must decompose existing community structures, incorporate new entities/relations, and then fully rebuild; LightRAG’s union-based incremental update significantly reduces maintenance cost in dynamic environments.
3. Online Query: Retrieval (Detailed Execution)
3.1 Retrieval Mode Overview
LightRAG does not distinguish multiple search modes; instead, it adaptively splits the same retrieval procedure into two layers based on query intent:
| Layer |
Applicable Queries |
Matching Target |
Core Mechanism |
| Low-Level (Local) |
Concrete entity queries (“What is the attribute of X?”) |
Entity Nodes |
Vector similarity matches entity nodes → expand neighbors |
| High-Level (Global) |
Abstract concept queries (“What are the overall trends of X?”) |
Relation Edges |
Vector similarity matches relation edges → expand neighbors |
3.2 Retrieval Procedure
- Intent identification: Decompose query content into Low-Level (Local) and High-Level (Global) keyword layers
- Key requirement: Extracted keywords must use the original expressions consistent with the query
Step 3.2 Keyword Matching
- Low-Level: Match entity nodes to query keywords via vector similarity retrieval
- High-Level: Match relation edges to query keywords via vector similarity retrieval
- Implementation: Uses nano vector database for vector data management and access
- Operation: Supplement retrieved nodes/edges with their one-hop neighbors
- Purpose: Complete context, capture implicit associations, improve answer coherence
- Characteristic: Compared to pure vector retrieval, graph-neighbor expansion provides cross-chunk association capability
Why is dual-layer retrieval effective? Traditional RAG only performs local retrieval and cannot answer global questions like “overall trends.” LightRAG maps queries to both entity and relation layers simultaneously, accommodating both concrete facts and abstract associations.
4. Online Generation: Generation (Detailed Execution)
LightRAG’s generation phase is standard:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
| User query
│
▼
┌─────────────────┐
│ Query │ ← Extract Low-Level + High-Level keywords
│ Decomposition │
│ (Keyword │
│ Extraction) │
└────────┬────────┘
│
▼
┌─────────────────┐
│ Vector │ ← Retrieve matching entity nodes and relation edges
│ Retrieval │
│ (Keyword │
│ Matching) │
└────────┬────────┘
│
▼
┌─────────────────┐
│ Neighbor │ ← Supplement one-hop neighbors, build subgraph context
│ Expansion │
│ (High-Order │
│ Relatedness) │
└────────┬────────┘
│
▼
┌─────────────────┐
│ Context │ ← Combine entity descriptions, relation descriptions, original segments
│ Assembly │
└────────┬────────┘
│
▼
┌─────────────────┐
│ LLM generates │
│ answer │
│ (Generation) │
└─────────────────┘
|
5. Key Design Decisions
| Decision Point |
LightRAG’s Choice |
Alternative |
Rationale |
| Index structure |
Graph + key-value pairs |
Pure vector index / text chunk index / community summaries |
K-V balances retrieval efficiency and provenance capability, outperforming pure embedding matching and chunk traversal |
| Dual-layer retrieval |
Low-Level(entity) + High-Level(relation) |
Single-layer unified retrieval |
Simultaneously covers concrete fact queries and abstract association queries |
| Neighbor expansion |
One-hop neighbors only |
Multi-hop traversal / no expansion |
One-hop neighbors balance quality and efficiency, avoiding over-expansion that introduces noise |
| Incremental update |
Union merging (node set + edge set) |
Full rebuild (e.g., GraphRAG) |
No need to decompose existing structure, significantly reducing update cost in dynamic environments |
| Deduplication strategy |
Simple deduplication to reduce graph scale |
Semantic similarity merging / entity alignment |
Keeps things simple and efficient; lightweight deduplication is sufficient for optimization |
6. Evaluation
6.1 Evaluation Metrics
LLM-as-a-Judge four-dimensional scoring:
| Metric |
Meaning |
LightRAG vs Baseline |
| Comprehensiveness |
Topical coverage of answers |
Superior to chunk-based methods, comparable to or better than GraphRAG |
| Diversity |
Diversity of viewpoints/angles in answers |
Significant advantage (against all baselines) |
| Empowerment |
Degree to which answers help users |
Superior to chunk-based methods |
| Overall |
Composite score |
Superior to GraphRAG and all chunk-based baselines |
6.2 Comparative Experimental Setup
| Condition |
Description |
| LightRAG |
Full system (graph + vector + dual-layer retrieval) |
| GraphRAG |
Graph RAG baseline (community summaries + Map-Reduce) |
| NaiveRAG |
Traditional vector RAG baseline |
| HyDE |
Hypothetical document embedding baseline |
| RQ-RAG |
Query rewriting RAG baseline |
Dataset: UltraDomain benchmark (4 subsets, derived from 428 university textbooks, covering 18 domains including Agriculture, Mix, etc.)
Key findings:
- On large datasets and complex linguistic contexts, LightRAG consistently outperforms GraphRAG
- Graph-based RAG systems (LightRAG, GraphRAG) consistently outperform pure chunk-based methods
- LightRAG demonstrates significant advantages on the Diversity metric
6.3 Ablation Study
| Variant |
Modification |
Result |
| -Low-Level |
Remove low-level retrieval module |
Performance drops |
| -High-Level |
Remove high-level retrieval module |
Performance drops |
| -Origin |
Do not use original text in retrieval, rely only on graph structure |
No significant drop on most datasets; some even improve (Agriculture, Mix) |
-Origin finding: The semantic graph in RAG is already sufficient to provide query-needed context; original text may actually introduce irrelevant noise.
7. Limitations and Applicability
| Limitation |
Specific Manifestation |
Mitigation |
| Extraction quality depends on LLM |
Entity and relation extraction quality directly determines graph quality, affecting retrieval performance |
Use stronger LLMs; increase gleaning iterations |
| Incremental update simple merging |
Union-based update does not handle entity conflicts, relation contradictions, or stale data |
Periodic full rebuilds; introduce conflict detection mechanisms |
| Neighbor expansion depth fixed |
Only one-hop neighbor expansion, may be insufficient for complex queries requiring multi-hop reasoning |
Configurable expansion depth; combine with iterative retrieval |
| Limited evaluation scope |
Mainly validated on UltraDomain benchmark; domain coverage is broad but not comprehensive |
Validate on more real-world scenarios and vertical domains |
Best Applicable Scenarios
- General-purpose RAG scenarios requiring both concrete facts and abstract associations
- Environments with frequent dynamic data updates (incremental update advantage)
- Requirements for retrieval efficiency where GraphRAG-style full rebuild cost is unacceptable
- Local + global hybrid queries on medium-scale document collections
Unsuitable Scenarios
- Complex queries requiring deep multi-hop reasoning (>1 hop) (neighbor expansion only one-hop)
- Scenarios with extremely high demands on entity alignment precision (simple deduplication may be insufficient)
- Pure global semantic understanding on very large document collections (GraphRAG’s community summaries are more advantageous here)
8. Quick Reference
GraphRAG
One-sentence positioning: Uses LLMs to construct a hierarchical knowledge graph from text corpora, then aggregates community summaries via Map-Reduce to answer global questions like “what does the entire dataset discuss.”
Key innovation: Transforms traditional RAG’s “retrieve then generate” into “pre-compute community summaries, then aggregate on demand,” solving the inability of vector RAG to perform global semantic understanding.
0. Execution Overview
1
2
3
4
5
6
7
8
9
10
11
| Offline Phase (one-time construction)
├─ ① Text chunking
├─ ② Entity and relation extraction
├─ ③ Knowledge graph construction
├─ ④ Graph community detection (hierarchical)
└─ ⑤ Community summary generation (bottom-up recursive aggregation)
↓
Online Phase (per query)
├─ ⑥ Load all community summaries at the target level
├─ ⑦ Map: Parallelly generate community answers + score
└─ ⑧ Reduce: Sort by score and merge into global answer
|
1. Offline Construction: Knowledge Graph Indexing
Step 1.1 Text Chunking
| Item |
Description |
| Input |
Raw document collection |
| Operation |
Split text into fixed token-size chunks |
| Key decision |
Larger chunks → fewer LLM calls (cost savings), but recall of early information within chunks decreases |
| Output |
Text Chunks |
Step 1.2 Entity and Relation Extraction
| Item |
Description |
| Input |
Text Chunks |
| Operation |
LLM extracts entities, relations, and claims from each chunk |
| Output |
Entities & Relationships |
Self-Reflection (Gleaning loop)
① First extract entities → ② Feed extraction results back to LLM → ③ Force yes/no judgment on “anything missed” → ④ If missed, prompt “MANY entities were missed in the last extraction” to complete
Implementation evolution:
| Version |
Implementation |
Principle |
| Before v2.2.0 |
logit_bias=100 |
Adds +100 bias to logits of “Y”/”N” tokens, forcing output of only Y or N at probability level |
| After v2.2.0 |
Pure Prompt |
Uses instruction “Please answer with a single letter Y or N” (because o-series reasoning models do not support logit_bias) |
Source code references:
- Loop Prompt:
prompts/index/extract_graph.py:129
- Gleaning loop:
graph_extractor.py:115-121
Step 1.3 Entity Alignment → Knowledge Graph
| Item |
Description |
| Input |
Entities/relations extracted from each chunk |
| Operation |
Exact string matching for entity alignment (merge different expressions of the same entity) |
| Error tolerance |
Duplicate entities are typically clustered into the same community in subsequent steps, with limited impact on results |
| Output |
Knowledge Graph (nodes = entities, edges = relations) |
| Item |
Description |
| Input |
Knowledge Graph |
| Operation |
Leiden algorithm recursively detects communities: large graph → sub-communities → sub-sub-communities… until no further division (leaf communities) |
| Output |
Hierarchical Graph Communities (C0 = top-level full graph, C1, C2, C3… increasingly fine-grained) |
| Item |
Description |
| Input |
Hierarchical community structure |
| Operation |
Bottom-up recursive generation: leaf community summaries → use leaf summaries to generate parent summaries → layer by layer upward |
| Summary content |
Comprehensive description of entities, relations, and claims within the community |
| Output |
Community Summaries (one report-style summary per community) |
Why this approach? Traditional RAG retrieves relevant documents at query time; GraphRAG pre-computes “what each cluster of related entities is discussing” offline, making it directly available at query time.
2. Online Query: Four Search Modes
Select mode based on query type:
| Mode |
Applicable Query |
Context Source |
Core Mechanism |
Cost |
| Global Search |
“What are the main themes in the dataset?” |
Community reports (full load) |
Map-Reduce + LLM scoring and filtering |
Medium |
| Local Search |
“What are the attributes of entity X?” |
Entity neighborhood + graph structure |
Vector retrieval of entities → graph traversal to expand neighbors → mixed context |
Medium |
| DRIFT Search |
Complex multi-hop reasoning questions |
Iterative graph exploration |
HyDE → Action loop (LocalSearch) → Reduce |
High |
| Basic Search |
Simple QA |
Raw text chunks |
Pure vector retrieval (no graph structure utilization) |
Low |
2.1 Global Search
- Core idea: Map-Reduce architecture, global summarization based on community reports
- Map phase: Independently question each community report, generating local answers (
global_search/search.py, using MAP_SYSTEM_PROMPT)
- Reduce phase: Aggregate all local answers to generate the final answer (using
REDUCE_SYSTEM_PROMPT)
- Characteristic: Does not rely on vector retrieval; uses the hierarchical community structure to answer top-down
2.2 Local Search
- Core idea: Build context based on entity-relation graph neighborhoods
- Procedure:
- Find entities most relevant to the query via vector retrieval (
mixed_context.py:map_query_to_entities)
- Obtain neighbor relations, descriptions, community reports, text fragments of these entities from the graph
- Concatenate into mixed context and pass to LLM for answering
- Characteristic: Leverages graph structure for local diffusion, adding one layer of structured information beyond pure vector retrieval
2.3 DRIFT Search (Dynamic Reasoning Graph Search)
- Core idea: Adds iterative reasoning and exploration on top of Local Search
- Essence: Iteratively enhanced version of Local Search, similar to ReAct pattern, where the LLM autonomously decides the next exploration direction
- Introduced in: v0.4.0 (2024-11-05)
Complete procedure (4 phases):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
| User query
│
▼
┌─────────────────────────────────────────────┐
│ Phase 1: Primer (Initialization) │
│ HyDE hypothesis → Vector retrieval of community reports |
│ LLM generates intermediate answer + score + follow-up query list |
└──────────────┬──────────────────────────────┘
│
▼
┌─────────────────────────────────────────────┐
│ Phase 2: Action exploration loop (n_depth rounds) |
│ Select top-k incomplete actions from follow-up queries |
│ Each action uses LocalSearch to search graph neighborhood |
│ Generate new follow-ups → add to graph |
└──────────────┬──────────────────────────────┘
│
▼
┌─────────────────────────────────────────────┐
│ Phase 3: Serialization │
│ Serialize entire action graph as JSON |
└──────────────┬──────────────────────────────┘
│
▼
┌─────────────────────────────────────────────┐
│ Phase 4: Reduce (Aggregation) │
│ Aggregate all intermediate answers into one final answer |
└─────────────────────────────────────────────┘
|
Phase 1: Primer — Initialize exploration (drift_search/primer.py)
| Step |
Operation |
Description |
| 1a. HyDE query expansion |
Randomly select a community report as template, have LLM generate hypothetical answer |
HyDE (Hypothetical Document Embeddings) strategy |
| 1b. Vector retrieval of community reports |
Use embedding of hypothetical answer for cosine similarity, take top-k |
drift_context.py:168-229 |
| 1c. LLM query decomposition |
Use structured output to force JSON return |
DRIFT_PRIMER_PROMPT |
PrimerResponse structure:
| Field |
Meaning |
intermediate_answer |
Intermediate answer based on community reports (2000 characters) |
score |
0-100, match degree between answer and query |
follow_up_queries |
At least 5 follow-up exploration queries |
Phase 2: Action exploration loop — Core (drift_search/search.py:188-263)
-
Data structure: NetworkX directed graph (QueryState.graph = nx.MultiDiGraph())
- Nodes = DriftAction (query + answer + score)
- Edges = parent-child relations (which action generated the follow-up query)
-
Loop logic:
1
2
3
4
5
6
7
8
9
10
11
| while epochs < n_depth: # n_depth rounds
# 1. Find all incomplete actions, sort by score
actions = query_state.rank_incomplete_actions()
# 2. Take top-k (drift_k_followups)
actions = actions[:drift_k_followups]
# 3. Concurrently execute search for each action (LocalSearch)
results = await search_step(actions)
# 4. Add new results to graph
for action in results:
query_state.add_action(action)
query_state.add_all_follow_ups(action, action.follow_ups)
|
-
Single Action search: Calls LocalSearch, returns {"response", "score", "follow_up_queries"}
Key configuration parameters:
| Parameter |
Function |
n_depth |
Number of exploration loop rounds (depth) |
drift_k_followups |
Number of actions executed in parallel per round (width) |
primer_folds |
Number of groups to parallelize community report processing in the Primer phase |
local_search_* |
Various parameters for LocalSearch (inherited) |
reduce_* |
Temperature and token limits for the Reduce phase |
2.4 Basic Search
- Core idea: Pure vector retrieval, no graph structure utilization
- Procedure: Directly performs vector similarity retrieval on raw text chunks (text units), using the most relevant text chunks as context
- Applicable scenario: Simple QA, or scenarios where graph structure information is not important
- Characteristic: The simplest RAG, existing as a baseline (code comment: “generic RAG algorithm (vector search on raw text chunks)”)
3. Online Generation: Map-Reduce Answer Aggregation (Global Search Example)
| Item |
Description |
| Input |
User query + all community summaries at the target level |
| Operation |
① Take all community summaries at that level ② Randomly shuffle order ③ Chunk by preset token size |
| Purpose |
Eliminate order bias + adapt to LLM context window |
| Output |
Shuffled community summary chunks |
| Item |
Description |
| Input |
Each community summary chunk + user query |
| Operation |
Independently call LLM for each chunk: “Based on these community summaries, answer the query” |
| Key output |
① Partial answer (Answer Fragment) ② Helpfulness score (0-100, indicating how helpful this chunk is for answering the target question) |
| Parallelism |
All chunks processed simultaneously |
| Output |
A set of (partial answer, score) pairs |
Step 3.3 Reduce: Merge into Global Answer
| Item |
Description |
| Input |
All (partial answer, score) pairs |
| Operation |
① Sort by helpfulness score ② Concatenate partial answers from high to low ③ Call LLM to synthesize the final answer |
| Output |
Global Answer |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
| Query: "What are the main themes in the dataset?"
│
▼
┌─────────────────┐
│ Load C2 level │ ← Select community level (C0/C1/C2/C3)
│ all community │ Higher level = more macro = fewer summaries
│ summaries │ Lower level = more detailed = more summaries
└────────┬────────┘
│
▼
┌─────────────────┐
│ Shuffle + Chunk │
└────────┬────────┘
│
┌─────┼─────┐
▼ ▼ ▼
[Chunk1] [Chunk2] [Chunk3] ← Map: Process in parallel
│ │ │
▼ ▼ ▼
(Answer1, 85) (Answer2, 72) (Answer3, 90) ← With scores
│ │ │
└─────┴─────┘
│
▼
┌─────────────────┐
│ Sort by score │ ← Reduce
│ and merge │
│ Generate final │
│ answer │
└─────────────────┘
|
4. Key Design Decisions
| Decision Point |
GraphRAG’s Choice |
Alternative |
Rationale |
| Index structure |
Graph index + community summaries |
Pure vector index / text index |
Global questions require understanding entity relations, which pure vector cannot achieve |
| Community detection |
Leiden hierarchical |
Single-level communities |
Hierarchical supports multi-granularity queries (macro → micro) |
| Summary generation |
Bottom-up recursive |
Independent generation per community |
Recursive ensures higher-level summaries include lower-level information, avoiding omission |
| Answer aggregation |
Map-Reduce + scoring |
Direct concatenation of all summaries |
Scoring mechanism filters highly relevant information, controls context length |
| Entity alignment |
Exact string matching |
Semantic similarity matching |
Simple and efficient; duplicate entities naturally cluster during community detection |
5. Evaluation
5.1 LLM-as-a-Judge (No Gold Standard)
| Dimension |
Meaning |
GraphRAG vs. Vector RAG |
| Comprehensiveness |
Thematic coverage of the answer |
Superior |
| Diversity |
Diversity of viewpoints/angles in the answer |
Superior |
| Empowerment |
Degree of helpfulness to the user |
Superior |
| Directness |
Whether the answer is concise and direct |
Inferior (trade-off) |
5.2 Factuality Verification
- Tool: Claimify (LLM-based atomic fact decomposition)
- Method: Decompose answer sentences into simple, self-contained factual claims, verify each one individually
5.3 Comparative Experimental Setup
| Condition |
Description |
| GraphRAG C0/C1/C2/C3 |
Four different community levels (C0 = top-level, C3 = bottom-level) |
| TS (Text Summarization) |
Direct Map-Reduce summarization on source text (no graph structure) |
| SS (Semantic Search) |
Traditional vector RAG baseline |
6. Limitations and Applicability
| Limitation |
Specific Manifestation |
Mitigation |
| Hierarchical rigidity |
Enumerative classification; new categories require index reconstruction |
Periodically rebuild index; or use more flexible dynamic community detection |
| High construction cost |
Multiple LLM calls (entity extraction × N + summary generation × M) |
Batch processing; caching; select appropriate community level to balance quality/cost |
| Global query focus |
Not optimal for “finding a specific piece of information” |
Combine with Local Search or DRIFT Search |
| Lower Directness |
Global summarization may be verbose |
Adjust Map-Reduce scoring thresholds; post-processing refinement |
Best Applicable Scenarios
- Global semantic understanding of million-token-scale document collections
- Queries like “what are the main themes/trends/debates in the dataset” — questions with no clear retrieval target
- Scenarios requiring synthesis across multiple documents to generate comprehensive answers (literature review, dataset exploration)
- QA over private data (does not rely on pre-trained knowledge)
7. Quick Reference
相关项目
- LazyGraphRAG
- nano GraphRAG