kailasa-ngpt/gemini-3.7-flash-ocr-26-aug-2026
gemini-3.7-flash-ocr-26-aug-2026 Page-image → transcription pairs for finetuning a vision-language model to OCR Devanagari and Tamil printed books. These labels are not human ground truth. They are the output of a teacher model, so its accuracy is the ceiling for anything trained on them. Provenance Teacher model google/gemini-3.7-flash (via OpenRouter, reasoning.effort=low) Page render PyMuPDF at 200 DPI, grayscale JPEG q90 Sampling stratified —… See the full description on the dataset page: https://huggingface.co/datasets/kailasa-ngpt/gemini-3.7-flash-ocr-26-aug-2026.
gemini-3.7-flash-ocr-26-aug-2026
Page-image → transcription pairs for finetuning a vision-language model to OCR Devanagari and Tamil printed books.
These labels are not human ground truth. They are the output of a teacher model, so its accuracy is the ceiling for anything trained on them.
Provenance
Sampling is per-book rather than exhaustive because diversity lives on the book axis (872 books), not the page axis — pages within a book share a typeface and scan run. Per-script budgets differ because the source corpus is ~95:5 Devanagari:Tamil, which would otherwise drown Tamil out.
Contents
Script mix: {'Devanagari': 8783, 'Tamil': 4266, 'Telugu': 68} Characters: 21,379,152
Split by book, not by page. Pages within a book are near-duplicates; a page-level split would leak near-twins into validation and overstate the score. Validation measures generalisation to unseen books.
Fields
image— the page, grayscale JPEGtext— transcription (the training target)script—Devanagari|Tamil|Telugubook_type,book,serial_id,pagepdf_drive_id,page_index,dpi— recipe to re-render the page from sourcerecovered— true if the page needed a retry after a blank teacher response
Prompt used
You are an expert OCR transcriber for devanagari_letters texts printed in Devanagari script.
Book: <book title> | Type: sanskrit_scripture
Layout: single-column
Transcribe the ENTIRE page image verbatim, exactly as printed.
RULES -- FOLLOW EXACTLY:
1. Output the page text and NOTHING else. No JSON, no markdown, no LaTeX,
no commentary. Never use \text{}, \underbrace{}, $...$ or any other
markup -- transcribe accents, subscripts and musical notation as the
plain Unicode characters they are printed as, and if a mark cannot be
represented in Unicode, omit it rather than describing it.
2. Transcribe in natural reading order, top to bottom, as laid out on the page.
3. Preserve line breaks as printed: one printed line = one output line.
4. Transcribe EVERY character, including running headers, page numbers,
verse numbers, footnotes, marginalia and catchwords -- each in the
position where it actually appears on the page.
5. Do NOT translate, summarise, paraphrase, reorder or explain anything.
6. Do NOT invent headings, labels or numbers that are not printed on the page.
7. Preserve every diacritical mark exactly. Write Unicode directly as UTF-8,
never as \u escape sequences.
8. If the page carries no text at all (blank, plate, cover), output exactly: [BLANK]
Known defects (measured, not estimated)
Baseline
In a blinded 60-page A/B benchmark on this material (two independent judging passes, κ=1.00), the teacher beat google/gemma-4-31b-it on 46 of 47 pages where both produced output. Gemma emitted characters from scripts that cannot appear on the page (Cyrillic, Thai, Arabic, …) on 29% of its pages; the teacher did so on none. That gap is the headroom a finetune on this data has to close.
