Your team is comparing a vanilla LLM chatbot against a RAG chatbot. What is the single most important difference between them at query time?
A RAG chatbot inserts a retrieval step before generation, feeding the model relevant chunks from an external index; a vanilla chatbot answers from frozen pretraining weights alone.
A vanilla chatbot is like a knowledgeable friend who answers from memory. Everything they say comes from what they have already read, and that reading stopped at some point in the past. A RAG chatbot is the same friend, but you also hand them a folder of documents before they answer. They flip to the relevant pages, read what is there, and base their reply on what those pages say. The friend (the model) is the same person in both cases. The difference is the folder. That folder is fresh, can include private documents the friend never saw before, and lets them point at the exact page they used. Fine-tuning would be sending the friend back to school to memorize the documents. RAG just hands them the folder when they need it.
Detailed answer & concept explanation~6 min readEverything you need to truly understand this topic: intuition, mechanics, step by step explanation, code, formulas, and worked example. Click to expand.
Everything you need to truly understand this topic: intuition, mechanics, step by step explanation, code, formulas, and worked example. Click to expand.
Everything you need to truly understand this topic: intuition, mechanics, step by step explanation, code, formulas, and worked example.
Everything important, quickly.
3 min: name the retrieval step as the defining difference, contrast it with both fine-tuning and pure parametric Q&A, walk through what the step buys you (freshness, privacy, citations), and call out that the model itself is unchanged.
| Property | Vanilla chatbot | RAG chatbot |
|---|---|---|
| Knowledge source | Frozen pretraining weights | External vector index plus pretraining |
| Freshness | Capped at training cutoff | Updates by re-embedding new chunks |
| Private documents | Not accessible | Indexed in your own infrastructure |
| Citations | Cannot attribute per claim | Per-chunk numeric citations |
| Model weights | Unchanged | Unchanged (same model) |
| Extra query-time step | None | Embed query, ANN search, fetch chunks |
Real products, models, and research that use this idea.
- ChatGPT with file search using OpenAI's Responses API to retrieve from uploaded documents before generating, while base ChatGPT answers from training data alone.
- Claude.ai with Projects retrieving from a user-uploaded knowledge base via embedding search, contrasted with base Claude using parametric memory only.
- Glean enterprise search inserting retrieved workspace chunks into the prompt for an LLM call, where a plain Claude or GPT chat would have no access to those docs.
- Notion AI and Perplexity both running RAG over their respective indexes; a vanilla Claude or GPT API call answers without that retrieval layer.
What an interviewer would ask next. Try answering before peeking at the approach.
QWhen would you choose fine-tuning over RAG, or use both together?
QWhat new failure modes does adding a retrieval step introduce that a vanilla chatbot does not have?
Don't say thisRed flags and common mistakes that signal junior thinking. Click to expand.
Red flags and common mistakes that signal junior thinking. Click to expand.
Confusing RAG with fine-tuning. RAG does not touch the model's weights; it inserts retrieved chunks into the prompt at query time. Fine-tuning changes the weights themselves and is a different mechanism entirely.
The night-before-the-interview bullets. Scan these on the way to the call.
Primary sources. Skim if you want the original framing.
Same topic, related formats. Practice these next.