This guide outlines the essential steps for building an effective retrieval-augmented generation (RAG) application using large language models (LLMs). It begins with the selection of appropriate LLMs for generating synthetic data, responding to user queries, and evaluating performance. Key considerations include model sizing, licensing terms, and context window size. The guide emphasizes the importance of creating a comprehensive dataset that encompasses various user inputs and desired outputs. It also details the process of fine-tuning an LLM for specific RAG applications using techniques like LoRA. The document introduces Ragas, an open-source toolkit for quantitatively evaluating both retrieval and generation components of RAG applications. It stresses the necessity of adhering to best practices and guidelines to enhance system efficiency and performance. The guide serves as the first part of a three-part series, with subsequent articles focusing on dataset creation and generative LLM fine-tuning.