One teaches behaviour. The other supplies facts.
These are not competing answers to the same question. Fine-tuning changes how a model responds; retrieval changes what it knows at the moment you ask. Most production systems that work well use both, for different reasons.
Use RAG for knowledge that changes, must be cited, or is too large to memorise. Use fine-tuning for format, tone, domain vocabulary, and task behaviour that a prompt cannot reliably enforce. If you are choosing only one, ask whether your failure is the model not knowing something (RAG) or not behaving correctly (fine-tuning).
| Dimension | Fine-Tuning | RAG |
|---|---|---|
| Changes | Model weights | Prompt context at query time |
| Best at | Style, format, task behaviour, domain vocabulary | Current, specific, citable facts |
| Updating knowledge | Requires retraining | Re-index the source; no retraining |
| Citations | Not inherently traceable | Answers can point at source documents |
| Inference cost | No extra context tokens | Retrieved passages consume context |
| Latency | Single model call | Retrieval step plus model call |
| Failure mode | Confidently outdated | Right documents retrieved, wrong synthesis |
Yes, and this is the common production pattern: fine-tune for behaviour and retrieve for facts. The fine-tuned model gets better at using retrieved context in your preferred format.
Not on its own. Fine-tuning can teach a model to say "I do not know" and to ground answers in provided context, but if the fact is not in the weights or the context, it can still be invented.
Fine-tuning is a one-off training cost with cheaper inference; RAG has no training cost but pays for retrieval infrastructure and extra context tokens on every call. Which wins depends on your query volume.