Dev Tools

Fact-check documents with LiteLLM and Nimble

Nimble search runs one query per factual claim found in a document, and the retrieved pages become the evidence a model rules on. Nimble is registered in LiteLLM as the nimble/search provider, so the search calls and both model calls go through one interface and report their cost in the same units. A cheap model pulls the claims out, a strong model judges them, and each verdict names the URL that decided it.

Quick Start

Inputs

  1. A document Any markdown or text file whose factual claims need checking, such as a blog draft, a research summary, a press release, or an AI-generated report. The shipped example is a 333-word article.

Outputs

  • The document annotated claim by claim, each marked supported, contradicted, or unverifiable
  • The deciding source URL behind every verdict
  • A correction for each contradicted claim
  • A list of what was set aside as opinion, and what the sources could not settle
  • Search spend, token spend, and cost per verified claim, reported separately
  • Reports in HTML and Markdown

How it works

A 5-phase pipeline.

  1. Separate claim from opinion A cheap Claude model reads the document and returns every checkable factual claim as structured JSON, setting opinion, prediction, and recommendation aside.
  2. One search per claim Nimble search runs a query for each claim, concurrently, returning ranked results with title, url, and full page content.
  3. Trim each page down Nimble returns whole pages as markdown, which can run to hundreds of thousands of characters, so each result is cut to a claim-relevant window by rarity-weighted keyword scoring after nav menus and tables are stripped.
  4. Judge against the sources A strong Claude model rules on each claim, returning supported, contradicted, or unverifiable, the URL that decided it, and the correct figure where the document is wrong.
  5. Annotate and price it The document is rendered back marked up claim by claim, with search spend and token spend accounted separately and a cost per verified claim.

Stack

Nimble primitives plus the full runtime stack.
Nimble APIs
What it does
  1. search Returns live web results for each claim, with structured page content used as the evidence behind every verdict. Registered inside LiteLLM as the nimble/search provider.
3rd Party Tools
Role
  1. litellm One interface for the search provider and both models, with an optional proxy that puts every call on a single dashboard and ledger.
  2. claude-haiku-4-5 Pulls the checkable claims out of the document, once per run.
  3. claude-opus-5 Judges each claim against the retrieved pages, once per claim.
  4. python 3.10 to 3.14 The range LiteLLM supports.
Reach out if you have any questions.
Talk to an Expert