I've recently started to prefer Graph RAGs more than those supported by a vector store.
No offense to vector databases; They work fantastically in most cases. The caveat is that you need explicit mentions in the text to retrieve the correct context.
We have solutions for that and I covered some in my previous posts.
For example, ColBERT and Multi-representation are useful recovery models to consider when building RAG applications.
GraphRAGs suffer less recovery problems (I didn't say they don't suffer). Whenever recovery requires some reasoning, GraphRAG works amazingly.
Providing relevant context solves a key problem in LLM-based applications: hallucination. However, it does not completely eliminate hallucinations.
When you can't fix something, you measure it. And that is the focus of this post. In other words, How do we evaluate RAG applications??