Largest awards
- Loading...
Pipeline status
Loading- Last run-
- Last success-
- USAspending data as of-
- LLM calls-
- Needs review-
- History writes-
- Duration-
status.json, written by run.py
All workflow runs
AI accuracy golden set
Not measured yetEach run scores the model on 30 hand-labelled awards with agentl eval: category and clarity must both match.
- Model
- - Category right-
- Clarity right-
- Cost per record-
- Cost per right answer-
How this page is built
One pipeline file, one small model, a capped budget.
GitHub Actions runs this agentl pipeline every morning. It writes two JSON files, and this static page reads them. Below is the exact pipeline.yaml that produced the awards above.
- 01Fetch
http.post, only when USAspending loaded new data - 02CheckAmount above zero, unique ids, required fields
- 03ClassifyAn
agentstep, cached per award - 04StoreChangeset on
award_id - 05PublishJSON, run status and AI accuracy
# Loading pipeline.yaml...
- 1Only work when there is new data
if_changedon USAspending'slast_updateddate: when it is the same as on the last good run, the run stops with outcomeno_change. Nothing is fetched or paid for. - 2Checks before the model sees a row
At least one award, an amount above zero, one row per award id and no missing id, amount, agency or recipient. A bad row is rejected alone; the run goes on.
- 3The same award is never paid for twice
The agent step caches each answer by its input, and only the fields it needs reach it, so a revised amount keeps the cached answer.
budgetcaps cost and calls per run,rate_limitpaces the calls. - 4Unsure answers are marked, personal data masked
review: {below: 0.6, hold: false}shows a low-confidence answer with a "needs review" badge instead of hiding it.pii: maskreplaces e-mails, phones and names with placeholders before the call. - 5Accuracy is measured, not claimed
golden:points at 30 awards labelled by hand.agentl evalruns the step on them each day; the panel above shows the share right and the cost per right answer.
Build your own in an afternoon.
agentl is an open-source YAML ETL library for Python: connectors, checks, incremental runs and, when you need judgement, LLM agent steps with caching, budgets and evals. MIT licensed.
$ pip install agentl-etlRun this pipeline yourself
$ git clone https://github.com/arimayuji/agentl-examples && cd agentl-examples/spending
$ pip install "agentl-etl @ git+https://github.com/arimayuji/agentl@df37a40c349a74833de545007fe96ee8ca90a8ce"
$ export OPENROUTER_API_KEY=... # optional: without it, awards are not classified
$ python run.py && python -m http.server -d site 8000