RAG chatbot: answers from your own content
How retrieval-augmented generation works, what determines answer quality, where the limits are, and how Kyros puts it into practice.
A RAG chatbot answers questions from your own content instead of relying only on what a language model learned in training. RAG stands for retrieval-augmented generation: for every question, the system first retrieves matching passages of text (retrieval), hands them to the language model and has it write an answer based on them (generation).
How a RAG chatbot works
- Prepare the content: The text is split into passages (chunking) and indexed so it can be searched by meaning and by keyword. For search by meaning, a model turns each passage into a vector of numbers, called an embedding.
- Retrieve matching passages: For each visitor question, the system finds the passages that fit best and ranks them. Because the model can only process a limited amount of text per request, it doesn’t get all of your content, only the most relevant passages.
- Generate the answer: The top passages go to the language model together with the question and the instructions. The model writes the answer from them and can cite the sources it used.
The language model itself is not retrained. When your content changes, it is ingested again, and the next answer already draws on the new version.
Why RAG reduces wrong answers but doesn’t prevent them
A language model doesn’t know your prices, deadlines or processes. Without RAG, it sometimes fills those gaps with plausible-sounding inventions, known as hallucinations. With RAG, the right passage is ideally right in front of the model, and citations make the answer checkable.
Errors are still possible. Retrieval can return an irrelevant or outdated passage, the key fact may be missing from your content or stated differently on two pages, and the model can shorten or misstate a correct passage. RAG lowers the risk of wrong answers, but it doesn’t replace human review.
What determines the quality of a RAG chatbot
Whether a chatbot built on your own data answers well is largely decided before the language model: by the content, how it is split, how it is searched and how results are ranked.
Content
The chatbot can only pass on what your content says. Current, unambiguous pages that answer questions directly help more than long texts with contradictions or outdated details.
Chunking
If passages are too long, a match is only roughly relevant. If they are too short, context goes missing, such as the condition attached to a deadline.
Retrieval
Semantic search finds paraphrases, such as “send back” for “return.” Keyword search finds exact terms like product codes or section numbers. Hybrid search uses both.
Ranking
A reranker scores the retrieved candidates again against the specific question, so the most relevant passages make it into the limited text the model processes.
How Kyros does RAG
Kyros is a platform for AI assistants that answer from your organization’s web pages, as a chat widget on your website or via REST API.
Pages you choose
You paste the URLs of the pages the assistant should know, one per line. Duplicate pages are detected, and Kyros can re-sync the pages every 6, 12 or 24 hours or weekly.
Hybrid search with reranking
To search your pages, Kyros combines semantic search with keyword search. Reranking orders the results by relevance before the best passages go to the language model.
Golden answers
Where exact wording matters, such as deadlines or prices, you write Golden answers. When a question matches one, the assistant is instructed to use it word for word.
Further Links
When an answer draws on your pages, numbered source links with title and URL appear below it, so visitors can check the statement on the original page.
Upfront about gaps
If your content has no fitting answer, the assistant is instructed to say so. That is an instruction to the model, not a technical guarantee.
Corrections from Chatlogs
Chatlogs show conversations and visitor ratings. With Revise, you save a better answer as a Golden answer.
Limits of a RAG chatbot, Kyros included
What RAG can’t do in principle, and what Kyros doesn’t offer.
Only what your content says
The assistant answers from the pages you list and your Golden answers. Kyros does not crawl a whole site or sitemap, and you can’t upload files such as PDFs. Changed pages count only after the next re-sync.
Mistakes remain possible
Retrieval and the language model can get it wrong. That is why every widget permanently notes that answers are AI-generated and may be inaccurate. Source links make checking easier.
Instructions are not guarantees
Admitting gaps and using Golden answers word for word both rely on instructions to the language model, and a model can deviate from them. Review important answers regularly in Chatlogs.
No handoff to staff
Kyros has no live chat and does not route conversations to people. Instead, an Interactive Card (Beta) can collect a callback request in the chat; submissions are stored per Card and can be exported as CSV.
RAG chatbot FAQ
What is a RAG chatbot?
A RAG chatbot uses retrieval-augmented generation: for a question, it searches a defined knowledge base, such as the pages of your website, for matching passages and gives them to the language model as the basis for its answer. That lets it answer questions about your offerings, processes and policies that the model never saw in training, and cite its sources. It doesn’t rule out mistakes, but it makes them rarer and easier to check.
Does the model need training to build a chatbot on your own data?
No. With RAG, the language model stays unchanged; your content is only made searchable and passed in as context at answer time. That has a practical upside: when your pages change, you ingest them again instead of retraining a model. Kyros can do this automatically on a schedule. According to its privacy policy, Kyros does not use customer data to train AI models.
Can a RAG chatbot still give wrong answers?
Yes. RAG lowers the risk but doesn’t remove it. Retrieval can surface the wrong passage, the information can be missing or outdated, and the model can misstate a correct passage. The remedies are well-maintained content, Golden answers for sensitive questions, source links for checking and regular review of conversations. Every Kyros widget notes that answers are AI-generated and may be inaccurate.
Which content can I use as a knowledge base in Kyros?
Kyros uses web pages whose URLs you paste in, one per line, such as pages from your website, help center or policies, plus Golden answers you write yourself. Kyros does not crawl a whole site or sitemap on its own, and you can’t upload PDF, Word or Excel files. Content from files needs to be on a web page or added as a Golden answer. Pages can re-sync automatically every 6, 12 or 24 hours or weekly.
How can I tell where an answer comes from?
When an answer draws on your pages, Kyros lists numbered source links below it under “Further Links,” each with the page title and URL. There are no inline footnotes and no page numbers; the link points to the web page as a whole. Through the REST API, you also get the answer together with its sources, so you can display them in your own application.
What happens when the content has no answer?
The assistant is instructed to say plainly that your content doesn’t answer the question rather than make up an answer. That is an instruction, not a guarantee. Kyros does not hand conversations over to staff, but an Interactive Card (Beta) can, for example, collect a callback request in the chat. Chatlogs show you these gaps so you can close them with a new page or a Golden answer.
Further reading
Hallucination
Why language models produce plausible-sounding false statements
Golden answer
Fixed answers for questions where the exact wording matters
Knowledge base
Add pages, keep them in sync and make them searchable
RAG and knowledge bases explained
The in-depth article on how content and RAG work together
Build a RAG chatbot on your own pages.
The Starter plan is €0, permanently, with no credit card required. It includes one assistant with a chat widget.