Analysis updated 2026-05-18
Convert a large batch of complex PDFs into markdown and structured JSON.
Extract tables and layout regions from business documents at high throughput.
Run OCR on PDFs stored in S3, Azure, or Google Cloud without downloading them first.
Call the OCR engine directly from Python code to process documents in memory.
| blue-guardrails/cheap-ocr | eadmin2/jarvis_ai | greatvishal27-rc/ai-resume_analyzer | |
|---|---|---|---|
| Stars | 56 | 56 | 56 |
| Language | Python | Python | Python |
| Setup difficulty | hard | hard | moderate |
| Complexity | 4/5 | 4/5 | 2/5 |
| Audience | developer | developer | vibe coder |
Figures from each repo's GitHub metadata at analysis time.
Needs an NVIDIA GPU (or a Modal account) plus Docker or a Python environment with GPU extras.
cheap-ocr is a tool for turning large batches of PDF documents into clean markdown and JSON, even when those PDFs have complicated layouts full of tables and mixed content. It was built for the specific problem of processing a big collection of PDFs quickly and cheaply. Under the hood it uses one model to detect the layout of a page, such as where headings, paragraphs, tables, and images are, and a separate vision language model called GLM-OCR to actually read the text out of each region. The project's main selling point is speed on a single GPU. Using 100 real business documents from the European Medicines Agency as a benchmark, the authors measured about 14 pages processed per second on one L40S graphics card, and up to 20 pages per second on other datasets. They compare this against the official GLM-OCR software development kit doing the same job, where cheap-ocr comes out several times faster on pages per second, output tokens per second, and detected page regions per second. There are three main ways to run it. The simplest is through a service called Modal, which needs no GPU of your own, using a single command line call that can read PDFs from a local folder or from cloud storage like S3, Azure, or Google Cloud, and write results back there too. The second way is running it yourself on any machine with an NVIDIA GPU, either through Docker or by installing it into a Python virtual environment. The third way is calling it directly from Python code, where you start an engine object, then process a single PDF in memory, stream through many documents as they finish, or run a full folder or cloud bucket to another one. For every PDF it processes, cheap-ocr writes out a markdown file, a JSON file describing the page layout, and a stats file with timing and token usage, plus an overall summary file for the whole run. Almost every setting, such as image quality, how many pages are processed at once, and GPU memory use, can be set through command line flags, environment variables, or code, and this project is aimed at developers who need to process large PDF collections at scale rather than casual users.
A fast GPU-based tool that converts large batches of PDFs into markdown and JSON, using layout detection plus a vision language model for OCR.
Mainly Python. The stack also includes Python, GLM-OCR, vLLM.
Setup difficulty is rated hard, with roughly 1h+ to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.