LlamaIndex RAG Cheat Sheet

LlamaIndex for retrieval-augmented generation — data ingestion, indexing, querying, advanced retrieval strategies, and evaluation of RAG pipelines.

Last Updated: May 1, 2025

Data Ingestion

SimpleDirectoryReader('data/').load_data()
Load all supported files from directory
LlamaParse (premium)
Parse complex PDFs — tables, charts, handwriting. Better than open-source.
documents = reader.load_data()
Returns list of Document nodes
Settings.chunk_size = 1024
Token count per chunk — smaller = more precise, larger = more context
Settings.chunk_overlap = 200
Overlap between chunks — preserves context at boundaries

Indexing & Storage

ItemDescription
VectorStoreIndexDefault — creates embeddings, stores in vector DB. Best for semantic search.
SummaryIndexStores summaries — good for document-level Q&A, not granular retrieval.
KeywordTableIndexKeyword extraction + lookup — good for definitional queries.
KnowledgeGraphIndexEntity relationship extraction — graph-based reasoning.
TreeIndexHierarchical summarization — answer broad questions about large docs.

Query Engines

ItemDescription
RetrieverQueryEngineStandard: retrieve → synthesize → answer. Works for most use cases.
SubQuestionQueryEngineDecompose query into sub-questions → answer each → combine. For complex queries.
RouterQueryEngineRoute query to best index/retriever — summary vs vector vs keyword.
TransformQueryEngineModify query before retrieval: HyDE (generate hypothetical answer → search with it).
FLARE Query EngineRetrieve incrementally — use LLM to predict next sentence, retrieve to verify.

Advanced Retrieval

ItemDescription
Auto-Merging RetrieverHierarchical chunks — retrieve small chunks, auto-merge into larger parent chunks.
Sentence Window RetrieverRetrieve by sentence, expand window for context before sending to LLM.
Re-rankingCohere Rerank or cross-encoder — re-rank top-K results for precision.
Hybrid SearchCombine sparse (BM25) + dense (embeddings) — better for keyword-heavy queries.
Recursive RetrievalRetrieve → use as query for deeper retrieval — multi-hop reasoning.
Pro Tip: Start with the default ingestion pipeline, then iterate on chunk size and retrieval strategy. The biggest gains come from chunking strategy and retrieval method — not from the LLM.