AI Engineering
Make the AI show its work: why every answer should cite a source
A language model will answer a question it has no business answering, in the same calm tone it uses when it is right. That is the whole problem with dropping a raw chatbot onto a company's website: it is fluent everywhere and trustworthy nowhere, and there is no way for the reader to tell the two apart.
We built Chatbot on Demand around the opposite instinct. Every answer arrives with the source URL it came from, and if the assistant cannot find a source, it says so instead of inventing one.
Retrieval over a live index, not a training run
Chatbot on Demand indexes a target website in real time. There is no manual dataset preparation, no fine-tuning run, no waiting for a pipeline before the assistant is useful. It reads the site as it exists now, and answers questions through LangChain-orchestrated retrieval over that live index, with Ollama handling the model layer. FastAPI and MongoDB run the retrieval and storage, Next.js serves the interface, and the whole thing deploys on Vercel so a new site can be stood up in minutes.
The important part is not the stack. It is that every response is pulled from something real and points back at it.
Why a citation changes the product
A source URL does three things at once. It gives the reader a way to verify the answer without trusting the model. It gives the team a way to audit what the assistant is saying about them. And it quietly removes the question that stops most companies from shipping AI at all: "what if it makes something up?"
When the answer is grounded in a retrieved passage and linked to its origin, hallucination stops being a hope and becomes a boundary. The assistant is not reasoning from a fuzzy memory of the internet. It is reading a page and quoting it.
The rule that keeps it honest
The design constraint is simple to state and does most of the work: no source, no answer. It forces retrieval to be good, because a weak retrieval step produces visible gaps rather than confident fiction. It keeps the model in the role it is actually good at, turning a retrieved passage into a clear sentence, instead of the role it is bad at, recalling facts it was never reliably taught.
Grounding is not something you add with a better prompt. It is something you build into the path an answer has to travel before it reaches a person.
Working on something like this?
Let’s talk it through.
