Most "our RAG is inaccurate" problems are actually retrieval problems.
I've spent a lot of time fixing RAG systems. I think "our RAG is inaccurate" problems are actually about finding the right information, not about the model generating answers.
The model usually isn't making things up. Its answering based on what it was given.
The real issue is that it's getting the piece of information to work with.
The biggest improvements I've seen come from:
- Breaking up documents into chunks based on how they're structured not just using fixed sizes.
- Adding a step to reorder the results after searching for vectors.
- Creating a test set from questions people asked instead of just guessing what would work.
What surprised me most was how difference it made to switch models compared to improving how we find the right information.
Models that can reason make this even clearer. They don't fix information. They just give a more convincing answer based on the wrong idea.
GraphRAG definitely has its use for complex questions that involve many connected documents. For simple questions about a document, I've often found that fixing how we break up documents and find the right information solves the problem before we need a more complicated system.
For those who've shipped RAG to production:
What ended up making the biggest difference for accuracy? Was it the model, or was it finding the right information that was the real problem?