Tool Learning With Foundation Models