External Knowledge Augmented Language Models for Code Generation and Agents