Reducing hallucinations in Large Language Models (LLMs) is crucial for their effective utilization in applications. Hallucination refers to the phenomenon where LLMs generate non-factual content or make things up. One solution to this issue is Retrieval-Augmented Generation (RAG), which uses an external knowledge base to provide context to the LLM, reducing its reliance on parametric knowledge and thereby decreasing hallucinations. RAG has shown promise in reducing hallucination rates, but it's not a silver bullet and can be improved upon by combining it with other methods such as beam search or post-editing. Factuality alignment techniques like Direct Preference Optimization (DPO) also show potential in reducing hallucinations, but require additional computation resources to fine-tune the model. Post-editing methods, on the other hand, involve revising an LLM's initial response using another LLM, and can be problematic for streaming. Combining these methods or using RAG-as-a-service platforms can lead to better results in reducing hallucination rates.