The Generative AI Models module was one of the more hands-on parts of my MSc in Artificial Intelligence and Machine Learning. It helped me understand what goes into building an application around a language model.

We started with transformers and large language models, exploring how they generate text and why different architectures suit different tasks. From there, we moved into prompt engineering, embeddings, vector databases and Retrieval-Augmented Generation (RAG).

RAG became my favourite topic. It allows a system to retrieve relevant documents and use them as context when generating an answer. This can make responses more grounded and easier to check, although it does not eliminate hallucinations or guarantee accuracy.

The group project brought these ideas together. We assembled a pipeline using open-source models available through Hugging Face, working through document loading, chunking, embedding, indexing, retrieval and answer generation. We also evaluated the outputs using measures such as faithfulness and retrieval precision. Comparing answers generated with and without retrieved context helped me understand where the approach worked and where it still needed improvement.

I also came to appreciate the responsible-AI considerations throughout the module: recognising limitations, communicating uncertainty and checking whether an answer is supported by the available evidence.

My main takeaway was that building a useful generative AI application involves decisions throughout the system. The documents, retrieval process, instructions and evaluation all influence the quality of the final answer.