Core Building Blocks
Every RAG system, regardless of its complexity, is built upon three fundamental components that work together to retrieve information and generate answers.
Indexer
A pipeline that ingests and structures data from various sources. It creates a searchable knowledge library, typically by converting documents into numerical representations (embeddings) and storing them in a vector database.
Retriever
The search engine of the RAG system. When a user asks a question, the retriever searches the indexed knowledge library to find the most relevant documents or text chunks related to the query.
Generator
A Large Language Model (LLM) that receives the user's original query along with the relevant information retrieved from the library. It then synthesizes this information to generate a comprehensive, coherent, and contextually accurate answer.
Exploring the Architectures
The way the core components are arranged and enhanced defines the RAG architecture. Each design offers different trade-offs in complexity, cost, and performance. Click through the tabs below to see how each architecture works and discover its unique characteristics.
Comparative Analysis
Choosing the right architecture depends on your specific needs. This section provides a side-by-side look at how the different RAG models perform across key metrics. Use the checkboxes to compare them on the chart.
Architecture Trade-offs
Complexity
Reflects the engineering effort required for implementation and maintenance. Naive RAG is simple, while Modular RAG requires significant system design.
Performance
Measures the quality and relevance of the final output. Advanced techniques like re-ranking and query transformation directly boost performance.
Cost (Compute/API)
Indicates the operational cost. More complex models with multiple LLM calls (e.g., for query rewriting or re-ranking) are more expensive to run.
Flexibility & Adaptability
The ability to customize and adapt the system for specific domains or tasks. Modular RAG is the most flexible, allowing for swappable components.