๐
RAG โ Giving the Model Reference Materials Without Retraining
Retrieval + Generation โ attach external knowledge to prompts without changing model weights
Fine-tuning vs RAG โ Fundamental Difference
Fine-tuning: changes model weights (changes what's in its head)
RAG: doesn't change weights (just gives reference materials)
Analogy: Fine-tuning = teaching a doctor a new disease. RAG = handing the doctor a patient chart.
How It Works
User asks question โ retrieve relevant docs from DB โ attach to prompt โ model generates answer using docs.
Model weights change: zero.
Simplest RAG Code
qa = pipeline("question-answering")
context = "Annual leave: 15 days. Half-day: available."
result = qa(question="How many days off?", context=context)
# โ {'answer': '15 days', 'score': 0.98}
That's RAG. No training. Just passed reference material along with the question.
Fine-tuning vs LoRA vs RAG
| Fine-tuning | LoRA | RAG | |
|---|---|---|---|
| Weight changes | All | Partial | None |
| Training needed | Yes | Yes | No |
| Data update | Retrain | Retrain | Just swap docs |
Key Concepts
1
User asks a question
2
Retrieve relevant docs from DB โ vector similarity based
3
Attach retrieved docs to prompt โ "answer based on these references"
4
model(prompt + references) โ generate answer (Generation)
5
Model weights changed: zero โ data update = just swap documents
Use Cases
Internal docs QA โ build QA bot from company manuals and policies
Fresh info โ update docs without retraining for up-to-date answers
Hallucination prevention โ reduce false generation with source-backed answers