Towards More Factual Large Language Models: Parametric and Non-parametric Approaches