# Advanced RAG **What is RAG?** Retrieval augmented generation (RAG) is a natural language processing (NLP) technique that employes the capabilities of retrieval and generative based AI models. **What is Naive RAG?** Naive RAG often refers to splitting documents into chunks, embedding them, and retrieving chunks based on semantic similarity search to a user question. It's simple, but of poor overall performance. **That's why we need Advanced RAG.** In this tutorials (Advanced RAG), we will learn the techniques and best practices in RAG application development, that can improve the quality of the RAG. It's crucial to the success of a RAG application. ## Episodes 1. [RAG on Semi-structured data](./01_semi_structured_data.ipynb)