Generative AI Foundations