Contrastive Learning for Knowledge-Based Question Generation in Large Language Models