# Data processing

Turn scans into data, build search that understands meaning instead of keywords, and put the right answer at the top of the results.

## Models for this work

| Model | Best for | Quality | Speed | From |
|---|---|---|---|---|
| [GOT-OCR 2.0](https://gpuvault.io/model/got-ocr-2/) | Turning a pile of scans into data | Excellent | Very fast | $0.45/hr |
| [Nomic Embed v1.5](https://gpuvault.io/model/nomic-embed-text-v1-5/) | Building search over your own documents | Very good | Very fast | $0.22/hr |
| [BGE Reranker v2](https://gpuvault.io/model/bge-reranker-v2-m3/) | Making an existing search noticeably better in one step | Excellent | Fast | $0.22/hr |

## What do you need to do?

- **Read scanned documents** — Invoices and contracts into a spreadsheet. https://gpuvault.io/model/got-ocr-2/
- **Extract tables** — Rows and columns that stay rows and columns. https://gpuvault.io/model/got-ocr-2/
- **Make an archive searchable** — Search by meaning, not by keyword. https://gpuvault.io/model/nomic-embed-text-v1-5/
- **Improve existing search** — One step that reorders results properly. https://gpuvault.io/model/bge-reranker-v2-m3/
- **Answer from your documents** — The retrieval half of a question system. https://gpuvault.io/model/nomic-embed-text-v1-5/
- **Clean messy records** — Inconsistent text into structured fields. https://gpuvault.io/model/mistral-small-3-1/

## Questions people ask

### How accurate is document scanning compared with older OCR?

Much better on the things that used to fail. Older OCR reads a page as a stream of characters, so it loses multi-column layouts and turns tables into scrambled text. GOT-OCR 2.0 understands page structure, so a table comes back as a table and a two-column article stays in reading order. It also handles reasonable handwriting, which traditional OCR does not attempt.

### How much does it cost to process 5,000 scanned pages?

About $0.90. One page takes roughly 1.5 seconds on an RTX 4090 at $0.45 per hour, so 5,000 pages is around 2 hours. Commercial document processing services typically charge $0.01 to $0.10 per page, which would put the same job between $50 and $500.

### What does "search by meaning" actually mean?

Keyword search looks for the words you typed. Search by meaning looks for documents about the same thing, even when they share no words. A customer asking "how do I get my money back" finds your refund policy, which never uses the phrase "money back". You do this by running an embedding model once over your archive and storing the result, after which searching is instant and needs no GPU at all.

### Do I need a database or special software?

You need somewhere to put the index, and the common choices are free. Postgres with the pgvector extension works and is probably already in your stack. So do Qdrant, Chroma, and LanceDB. The output of an embedding job is a standard set of vectors that loads into any of them, so you are not locked into a particular tool by anything we do.

### Can I process documents that contain personal data?

Yes, and this is the main reason people run it here. Files go to isolated storage, the processing machine is destroyed when the job ends, and inputs and outputs are deleted 24 hours after you download them. Nothing is read by us or used for training. If you have a formal requirement around residency or retention, read the enterprise page and talk to us before you start.

### How large an archive can I process in one job?

Hundreds of thousands of documents is routine. Files live in object storage, not on the GPU, so the job size is limited by your budget and your patience rather than by the machine. For very large archives, run a sample of a few hundred first and check the output format is what you expected, then run the rest.

---

*Source: https://gpuvault.io/working-on/data-processing/ — GPUVault, GPU rental by the minute.*
