Docs

How it avoids making things up

A hallucinated answer costs more trust than a missing one. The pipeline is built around that trade.

How does Grounly stop the chatbot from hallucinating?

The model never answers from memory. Every question goes through the same path:

  • Pinned answers first. If a custom Q&A matches, that answer is returned verbatim and no model is called at all.
  • Retrieval. The question is embedded and matched against your indexed content; the ten nearest chunks are taken. Chunks below a similarity floor are discarded — all but the best one, which is kept only to decide whether there is anything to answer from.
  • Constrained generation. Those numbered chunks are the model's only permitted material. It is instructed to add nothing outside them and to cite [n] for what it claims.
  • The refusal. When nothing relevant survived retrieval, the answer is that it does not know — not a plausible guess.

Can I see where an answer came from?

Yes. Each answer carries links to the pages it was drawn from, so a visitor — or you, reading the transcript later — can check the claim against the source instead of trusting the bot.

What does the confidence number mean?

Less than people assume, and we would rather say so. It is the similarity of the best matching chunk — how close the question was to something in your content. It is not a judgement of whether the answer is correct. Read it as "did we have material for this?", and use the knowledge-gap report to find questions where the answer was no.

Why is the bot answering badly?

Almost always because the material is not there or is not clear. The bot knows nothing that is not in a source; a vague page produces a vague answer. The knowledge-gap report lists what visitors asked that could not be answered — that list is the fix, and it is usually a change to your website rather than to the bot.

Does a visitor's question or my page content control the bot?

No. Retrieved page content and the visitor's message are both marked as untrusted data for the model. Text cannot invoke an action — only actions you explicitly enabled can run, and they are not tools the model can improvise. See security and data.

How to stop an AI chatbot making things up — Grounly