Sign inSign up

affinda/resume-parser

By affinda

•Updated 9 days ago

Self-hosted resume parser in one container. Resume in, structured JSON out. Free parses included.

Image
Machine learning & AI
Data science
0

6.4K

affinda/resume-parser repository overview

⁠Affinda Resume Parser

A self-hosted resume parsing appliance in a single Docker container. Drop in a resume — PDF, DOCX, or scan — and get clean, structured JSON. Your documents never leave your infrastructure.

⁠Quick start

docker run --rm -p 8080:8080 affinda/resume-parser:latest

Open http://localhost:8080⁠ — drag a resume onto the page, or POST it to the API:

curl -F "[email protected]" http://localhost:8080/v1/parse

Every container includes an evaluation allowance of free parses, no sign-up required. Full documentation (runbook, API reference, sizing guide) is served by the container itself at /docs.

⁠Licensing

Evaluate first, license when ready:

  • Evaluation — built in. Pull the image and parse immediately; the container tracks your free-parse allowance locally. No account, no phone-home: the parser runs fully offline, including licence verification.
  • Licensed — get a licence key at https://resume-parser.affinda.com/self-hosted⁠, then either set it at startup (-e AFFINDA_LICENSE_TOKEN=..., ideal for orchestrated deployments) or apply it to a running container (docker exec <name> affinda-license apply '<TOKEN>'). Keys are verified offline against keys built into the image, so air-gapped deployments work.

⁠Flavours

  • latest / versioned tags — CPU. Runs anywhere Docker runs.
  • latest-gpu / -gpu tags — GPU (NVIDIA, --gpus all required; the GPU image deliberately will not fall back to CPU, so you never silently pay GPU prices for CPU throughput).

⁠What it handles

Multilingual resumes (strong English, plus Thai, Japanese, Indonesian and more), scanned documents via built-in OCR, and messy real-world files. Non-resume documents are classified rather than rejected; quality-gated documents parse with warnings instead of failing.

⁠Performance

Measurements, not SLAs — on the recommended GPU instance (g6.2xlarge) with licensing enabled, through the shipped multi-container topology: a 1-page resume parses in ~55 ms (p50); sustained throughput ~181,000 documents/hour at a 1%-scanned mix with 0.0% rejected requests. Methodology, variance bands and CPU numbers are in the sizing guide inside the container.

⁠Support

[email protected]⁠ — or open the troubleshooting guide at /docs in your running container.

Tag summary

Content type

Image

Digest

sha256:4fd1234c3…

Size

1.1 GB

Last updated

9 days ago

docker pull affinda/resume-parser