What Is LlamaIndex? β Definition and How It Works
Learn what LlamaIndex is, how readers, nodes, indexes, and query engines fit together, which index types exist, and where it fits best.
LlamaIndex is a Python framework for connecting language models to data. Its centre of gravity is retrieval: ingesting documents, structuring them into indexes, and querying those indexes well.
1. The Pipeline
| Stage | Component | Role |
|---|---|---|
| Load | Reader | Pulls documents from a source |
| Split | Node parser | Turns documents into nodes, the retrievable unit |
| Index | Index | Organises nodes for a retrieval strategy |
| Retrieve | Retriever | Selects nodes for a query |
| Synthesise | Response synthesiser | Composes an answer from selected nodes |
A query engine wraps retrieval and synthesis into one callable object.
Example Shape
documents = SimpleDirectoryReader("./docs").load_data()
index = VectorStoreIndex.from_documents(documents)
engine = index.as_query_engine()
print(engine.query("How is authentication configured?"))
2. Nodes Are the Unit
A node is a chunk of a document plus metadata and relationships to neighbouring nodes. Those relationships matter: a retrieved node can pull in its parent or siblings, which restores context that chunking removed.
3. Index Types
- Vector index β embedding similarity. The general default.
- Summary index β traverses all nodes, useful for whole-document questions.
- Keyword table β term-based lookup, strong on exact identifiers.
- Tree index β hierarchical summarisation for large corpora.
- Knowledge graph β extracts entities and relations for graph-shaped questions.
Having several index types over the same corpus, with a router choosing between them, is a distinctive pattern here.
4. Readers Are a Real Advantage
The connector library covers files, databases, APIs, and web sources, which removes a substantial amount of ingestion glue. For document-heavy applications this is often the deciding practical factor.
5. Query Engines Compose
Engines can be nested: a router picks among sub-engines, a sub-question engine decomposes a complex query and combines the answers, and a retriever can be swapped without touching synthesis.
That composition is what makes multi-source question answering β several corpora, one interface β straightforward rather than bespoke.
6. Where It Fits Best
- Question answering over a defined document corpus.
- Corpora needing more than flat similarity β summarisation, hierarchy, entity relations.
- Heavy ingestion from many source types.
- Applications where retrieval quality is the product rather than a supporting step.
7. Where Something Else Fits Better
For a single prompt with one provider, a direct SDK call is simpler. For applications whose centre is tool orchestration with retrieval as one step among many, a composition-first framework may map more naturally.
The two are interoperable, and using this for ingestion and retrieval while orchestrating elsewhere is a common, reasonable split.
8. Summary
LlamaIndex structures the path from documents to answers: readers load, node parsers split, indexes organise, retrievers select, and synthesisers compose β with query engines wrapping the last two.
Its strengths are ingestion breadth and index variety. As always, chunking and extraction quality decide the answers; the framework only makes the good choices easier to express.