Nobody retrains a language model on your website. Something more useful happens instead - and knowing which is which tells you what to expect.
"Train your agent on your website" is the standard line, ours included. It is a reasonable shorthand and it describes the outcome accurately. It does not describe the mechanism, and the mechanism is worth ten minutes of your time, because it determines what the thing will be good at and where it will fall over.
Your content is not used to retrain a language model. Nobody is running gradient updates on your FAQ page. That would be slow, absurdly expensive for a single customer's data, impossible to undo when you edit a page, and a genuine problem the first time someone exercised their right to erasure.
It also would not work well. Facts baked into model weights come out fuzzy and unattributed - exactly the failure mode you do not want from something quoting your prices.
The pattern is retrieval-augmented generation, and it is four steps.
We fetch your content - pasted text, a crawl of your site following internal links, a product URL, or an uploaded PDF, Word, Markdown or CSV file - and pull out the readable text. Uploaded originals are stored in Frankfurt.
Long documents are split into passages. This step is unglamorous and matters more than people expect: chunk too large and retrieval drags in noise, chunk too small and you sever a sentence from the context that made it meaningful.
Each passage is converted into a vector - a list of numbers positioning it in meaning-space - and stored in a vector index (pgvector, in the same Frankfurt database as the rest of your workspace). Passages about refund windows land near each other whether they say "refund", "money back" or "return policy".
At question time the visitor's question is embedded the same way, the nearest passages are pulled, and those passages plus the question are handed to the model with an instruction to answer from them. The model supplies fluency and reasoning. Your content supplies the facts.
Edits take effect immediately. Change a price, re-index, done. There is no retraining cycle, because there was no training.
Answers can be cited. The system knows which passages it used, so it can show you. An answer with no supporting passage is a bug you can see, rather than a confident sentence from nowhere.
Deletion is real deletion. Remove a source and its vectors go with it. The agent stops knowing it. This is not true of anything baked into weights, and it is the reason erasure requests are answerable at all.
Coverage is your job, not the model's. This is the one that catches people out. If the answer is not in your content, retrieval finds nothing relevant, and a grounded agent should say it does not know rather than improvise. That is the correct behaviour, and it will still feel like a failure the first time you watch it happen. The fix is never a better model - it is writing the page you had not written.
Getting good results is mostly a content exercise. The most valuable half hour after signing up is not tuning anything; it is going through the questions your sales team answers by email every week and making sure each one exists somewhere in writing. That is the corpus. Everything downstream is machinery.
You can test the claim on this site. The agent in the corner was trained on these pages through the same pipeline you would use. Ask it something covered here and it will answer with the source. Ask it something we have never written down, and you will see the honest failure mode for yourself.