AI Engineering: Building Applications with Foundation Models