LlamaIndex
A data framework for connecting custom data sources to large language models through indexing and retrieval.
Technical explanation
LlamaIndex, formerly GPT Index, focuses on one thing really well: getting your data into LLMs. Language models are trained on public data, but your application probably needs them to understand private documents, databases, or APIs. LlamaIndex handles the ingestion, indexing, and retrieval that makes this possible.
The framework provides data connectors for dozens of sources. PDFs, Word docs, Notion pages, Slack messages, SQL databases, and more. It chunks these documents appropriately, creates embeddings, and stores them in vector databases or simpler index structures. When a user asks a question, LlamaIndex retrieves relevant chunks and includes them in the prompt.
What sets LlamaIndex apart from basic RAG implementations is the query engine abstraction. You can route queries to different indexes, combine results from multiple sources, or use the model to refine and synthesize answers across documents. It handles the complexity of multi-step retrieval while keeping the code manageable.
LlamaIndex and LangChain are often used together. LlamaIndex handles data retrieval, while LangChain manages the broader application logic and agent behavior. But LlamaIndex has grown to include its own agent and workflow capabilities, so you can build complete applications with just LlamaIndex if retrieval is your main concern. The choice depends on whether you're more data-focused or action-focused.