Fetching latest headlines…
Making RAG admit when it's guessing: source-grounded hallucination checks
NORTH AMERICA
🇺🇸 United StatesJuly 1, 2026

Making RAG admit when it's guessing: source-grounded hallucination checks

1 views0 likes0 comments
Originally published byDev.to

The failure mode that scares me most in RAG isn't a wrong answer. It's a confident wrong answer with three citations that don't actually say what the answer claims.

So in SWIRL 5 I stopped trusting the model to police itself and added a check that runs after generation.

The flow:

  1. Generate the answer with its citations, as usual.
  2. Split the answer into atomic claims — roughly one assertion per sentence.
  3. For each claim, pull the specific spans from the retrieved passages the model cited.
  4. Run an entailment check: does the cited text actually support this claim, contradict it, or neither?
  5. Any claim that isn't supported gets flagged in the UI, inline, before the user reads a word of it.

The interesting part wasn't the entailment model; it was everything around it.

Claim segmentation is harder than it sounds. Naive sentence splitting produces claims that are unverifiable on their own because the subject lives two sentences up.

Citations lie by omission. A model will cite a document that's topically relevant but doesn't contain the specific number it just quoted. The whole point of the check is to catch exactly that gap.

Latency budget. An honesty layer nobody waits for is an honesty layer nobody ships. SWIRL 5 batches and optionally caches passage embeddings and more.

The result isn't "SWIRL never hallucinates." Nothing can promise that. The result is: when it's on thin ice, it tells you, and it points at the exact sentence.

That's the version of trustworthy I can actually build.

Comments (0)

Sign in to join the discussion

Be the first to comment!