Fundamentals of Generative AI