Standard library only · runs in your browser
Support reviewed 200 conversations by hand and marked each answer grounded or not. The most common failure was answers that cite a document and then state something it doesn't say. Nobody can review 5,000 conversations a day, so turn what the reviewers did into a check.
A trace is the question, the documents retrieval returned, and the bot's answer, which cites documents like [refunds]. The reviewers' rule, as they explained it:
[id] citation at all → not grounded. Citing an id that wasn't retrieved → not grounded.$50, $4.99) and every duration (30 days, 5 business days, 12 hours) in the answer must appear word for word in the text of a *cited* document.Write is_grounded(trace) to match the reviewers' labels.
is_grounded(trace: dict) -> bool