Grounded AI consultant for a technical catalog
A consultant that answers from a live SKU catalog, refuses invented products, and hands a brief to a human when the base is silent.
What changed. Answers stay inside the catalog; unknown questions escalate instead of inventing SKUs.
Stack. catalog grounding · modular prompts · runtime hallucination guard · isolated backend service
Context
A retailer of heating and engineering equipment publishes a catalog of more than 4,700 SKUs. Buyers do not arrive with kilowatts and volumes already calculated. They need a consultation, not a filter tree. Live chat covered business hours only, so overnight and peak inquiries died in the queue. Managers sized heating capacity by hand, one thread at a time. Off-the-shelf chatbots invented models and prices that were not in stock, then billed the operator per contact — duplicates included.
Task
Stand up a consultant that behaves like a specialist on the floor: qualify the object, size capacity as a pre-survey estimate, recommend only products that exist on the live storefront, and deliver a structured brief to a human for survey and install. The bot must not replace the specialist. It must protect the specialist’s time. A failure has to degrade into contact capture, not a confident lie.
What we built
A reusable engine — ingest catalog, retrieve candidates, consult, then guard — with a swappable niche config so a new storefront does not require a rewrite. The first production instance was grounded on 1,143 live SKUs across 19 categories, pulled from the client’s own storefront rather than from a marketing PDF.
The model never recommends from memory. Hard filters produce a shortlist of real candidates; generation is limited to that shortlist; every named product, price, and link is checked against the catalog at runtime. A mismatch is cut and retried. If the model still cannot ground the answer, the loop captures a contact and hands the thread to a person. The bot qualifies the flow and forwards hot briefs only. Dialogues and leads stay with the client. The service runs as an isolated backend — keys on the server, rate-limited — beside the live site, without touching the storefront.
A verification gate runs golden and adversarial checks on every release: invented models, prices, and brands are treated as release blockers, not as copy-edits.
What changed
The consultant answers around the clock, in seconds, with a capacity estimate that a survey still has to confirm. Each handed-off lead arrives with object type, parameters, budget band, timeline, and matched SKUs attached. The specialist closes a prepared brief instead of rediscovering the job from a bare phone number. When the catalog is silent, the user meets a refusal and a human, not a fictional boiler.
What we would do differently
Ground the first slice on a written refusal list and a few dozen messy SKUs before wiring the full storefront. The catalog’s attribute quality was the real bottleneck; we spent too long letting the model argue with incomplete fields instead of failing those rows out of the candidate set on ingest.
Related service: AI consultant and chatbots