Building a RAG Solution from Scratch