Data & evaluation sets

Measured accuracy, hallucination rate, cost, and latency for the document-extraction pipeline, from real runs against a public, PII-free eval dataset (23 documents across 5 genres — World Bank project documents and Vietnamese government announcements; see extraction/README.md for sourcing — the repository is temporarily private, so this path is not linkable right now). Each run below names its own model explicitly — nothing here is presented as a property of the pipeline in general.

v1 — first live run (TASK_15)

2026-09-12

Model: gemini-3.5-flash-lite · 23 documents · run eval-20260912T180011Z · pipeline commit b2f5a22

Overall accuracy
79.4%
mean of per-document accuracy
Hallucination rate
3.4%
mean of per-document rate
Cost / document
$0.0028
measured, from token usage
Latency / document
17.6s
measured wall-clock
Escalation to Claude: not used. escalation_rate = 0.0% — this reflects that no Claude API key was provisioned for this run, not a measured rate of documents that would need escalation in the two-tier architecture. Claude field: Н/Д — ключа нет, эскалация не использована.
Prompt version: not tracked as a field in this run's artifact — versioned prompts were introduced after this run. This run is uniquely identified by its run_id and pipeline commit above.

Accuracy by field, worst first

FieldAccuracyDocuments with this field
Plan date0.0%0/8 correct
Total amount66.7%8/12 correct
Byline66.7%2/3 correct
Implementing agency72.2%13/18 correct
Currency75.0%6/8 correct
Total amount usd75.0%6/8 correct
Title78.3%18/23 correct
Document type80.0%16/20 correct
Project id91.7%11/12 correct
Credit or grant number100.0%8/8 correct
Borrower or recipient100.0%12/12 correct
Signing date100.0%7/7 correct
Date prepared100.0%4/4 correct
Decree number100.0%3/3 correct
Effective date100.0%3/3 correct
Issuing body100.0%2/2 correct

Accuracy by document genre, worst first

GenreMean accuracyDocuments
Procurement plan63.7%8
Grant agreement81.0%4
Project information document85.7%4
Financing agreement92.3%4
Government announcement93.3%3

Raw artifact: extraction/extraction/eval/dataset/live_eval_report.json · extraction/extraction/eval/dataset/live_scoring_report.json · docs/history/sessions/TASK_15_REPORT_first_eval_run.md — the repository is temporarily private (security incident response); these paths are not linkable right now.

v2 — prompt v2 (TASK_19)

2026-09-13

Model: gemini-3.5-flash-lite · 23 documents · run eval-20260913T143542Z · pipeline commit 21ec03b

Overall accuracy
91.6%
mean of per-document accuracy
Hallucination rate
0.6%
mean of per-document rate
Cost / document
$0.0030
measured, from token usage
Latency / document
15.9s
measured wall-clock
Escalation to Claude: not used. escalation_rate = 0.0% — this reflects that no Claude API key was provisioned for this run, not a measured rate of documents that would need escalation in the two-tier architecture. Claude field: Н/Д — ключа нет, эскалация не использована.
Prompt version: not tracked as a field in this run's artifact — versioned prompts were introduced after this run. This run is uniquely identified by its run_id and pipeline commit above.

Accuracy by field, worst first

FieldAccuracyDocuments with this field
Currency75.0%6/8 correct
Implementing agency83.3%15/18 correct
Document type85.0%17/20 correct
Title87.0%20/23 correct
Total amount usd87.5%7/8 correct
Project id100.0%12/12 correct
Plan date100.0%7/7 correct
Credit or grant number100.0%8/8 correct
Total amount100.0%12/12 correct
Borrower or recipient100.0%12/12 correct
Signing date100.0%7/7 correct
Date prepared100.0%4/4 correct
Decree number100.0%3/3 correct
Effective date100.0%3/3 correct
Issuing body100.0%2/2 correct
Byline100.0%3/3 correct

Accuracy by document genre, worst first

GenreMean accuracyDocuments
Grant agreement84.5%4
Procurement plan88.6%8
Government announcement91.7%3
Financing agreement96.4%4
Project information document100.0%4

Raw artifact: extraction/extraction/eval/dataset/live_eval_report_v2.json · extraction/extraction/eval/dataset/live_scoring_report_v2.json · docs/history/sessions/TASK_19_REPORT_prompt_v2.md — the repository is temporarily private (security incident response); these paths are not linkable right now.

v3 — prompt v3 (TASK_22)

2026-09-13

Model: gemini-3.5-flash-lite · 23 documents · run eval-20260913T161403Z · pipeline commit c84e0c7

Overall accuracy
92.3%
mean of per-document accuracy
Hallucination rate
1.2%
mean of per-document rate
Cost / document
$0.0030
measured, from token usage
Latency / document
8.1s
measured wall-clock
Escalation to Claude: not used. escalation_rate = 0.0% — this reflects that no Claude API key was provisioned for this run, not a measured rate of documents that would need escalation in the two-tier architecture. Claude field: Н/Д — ключа нет, эскалация не использована.
Prompt version: not tracked as a field in this run's artifact — versioned prompts were introduced after this run. This run is uniquely identified by its run_id and pipeline commit above.

Accuracy by field, worst first

FieldAccuracyDocuments with this field
Total amount usd75.0%6/8 correct
Implementing agency83.3%15/18 correct
Document type85.0%17/20 correct
Signing date85.7%6/7 correct
Currency87.5%7/8 correct
Title91.3%21/23 correct
Project id100.0%12/12 correct
Plan date100.0%7/7 correct
Credit or grant number100.0%8/8 correct
Total amount100.0%12/12 correct
Borrower or recipient100.0%12/12 correct
Date prepared100.0%4/4 correct
Decree number100.0%3/3 correct
Effective date100.0%3/3 correct
Issuing body100.0%2/2 correct
Byline100.0%3/3 correct

Accuracy by document genre, worst first

GenreMean accuracyDocuments
Grant agreement81.0%4
Procurement plan91.1%8
Financing agreement92.9%4
Project information document100.0%4
Government announcement100.0%3

Raw artifact: extraction/extraction/eval/dataset/live_eval_report_v3.json · extraction/extraction/eval/dataset/live_scoring_report_v3.json · docs/history/sessions/TASK_22_REPORT_prompt_v3.md — the repository is temporarily private (security incident response); these paths are not linkable right now.

What not to trust in these numbers

Each run below is a single measurement.
None of the headline numbers above have been reproduced by an independent repeat run of the same configuration — each task that produced a run explicitly ruled out re-running it just to see a different number. The variance between repeat runs of the same model and prompt is unknown, and differences between runs below conflate prompt changes and, for some runs, model changes — see each run's own provider note for which variable that run isolates.
Not the target model.
gemini-3.5-flash-lite was used because it has a free tier, not because it is the model this project plans to run in production (that is gemini-2.5-flash). These numbers are not presented anywhere as a measurement of the target configuration.
No escalation.
0% escalation reflects the absence of a Claude API key, not a measured share of documents that would not need escalation under the real two-tier architecture.
confidence_threshold was not calibrated.
The orchestrator default (0.75) was used as-is — it has never been checked against this model's real output before this run.
The dataset is not a typical product input.
23 clean, institutional/financial World Bank PDFs and text documents — not the scanned or photographed forms with real-world noise the pipeline is ultimately meant for. Real accuracy on messy user scans could differ in either direction.
(v1 only) Some of that run's accuracy is an artifact of the ground-truth convention, not model ability.
Most visibly plan_date at 0% in v1 — the model consistently read a real, valid date from the document's human-readable preamble while the ground truth used a different, also valid, date from a machine-readable table, and the v1 prompt never specified which one to prefer. This is accounted for where it was separately computed (v1's procurement_plan genre accuracy rises from 63.7% to 74.6% with plan_date excluded), but it is not backed out of the v1 headline figure, which includes this effect as measured. v2 redefined plan_date (see that run's provider note); whether the same convention gap applies to v2/v3 has not been separately re-checked here.
One scoring normalizer is incomplete.
Currency-code aliasing (e.g. "US$" vs "USD") is not applied to the currency field, so part of its measured accuracy reflects a notation mismatch in scoring, not a content error by the model.

What's not here yet

This project is also building closed benchmarks (50–200 documents across neutral genres — government notices, forms, receipts, tender documents, with PII excluded by design) and a retrieval-augmented bank of confirmed corrections that grows as the pipeline is used. That work hasn't started yet — the runs above are the only real runs against the eval set so far.

The one dataset with a much larger, fully verified track record — 83 Hanoi government filings, 4,343 verified transactions, sourcing and known limitations stated in full — is the real-estate case study, a separate proof of concept from the eval run above: see it at /methodology.

Evaluating this for research or benchmarking purposes? Reach out: konstantingrinbergwork@gmail.com.

Data & eval sets | Vietnam Document Extraction