lift
Extract structured data from documents quickly and accurately.
What is it?
What it is
A 9B vision model for extracting structured JSON from PDFs and images using schema-constrained decoding.
Why it exists
To provide state-of-the-art, schema-guided document intelligence for extracting structured data from PDFs and images with high accuracy and validity guarantees.
Who should use it
Developers, data scientists, and ML engineers who need to extract structured data from PDFs or images using a flexible JSON schema, especially those working on document intelligence, invoice processing, or automated data pipelines.
Who should avoid it
Users without access to a capable GPU or those requiring strict commercial licensing beyond the OpenRAIL-M terms, as well as teams needing sub‑second inference latency on large volumes without dedicated infrastructure.
How it works
A quick walkthrough in plain English
How lift works in 4 steps
Step 1 of 4
Something triggers the flow
A schedule, webhook, or manual click tells lift to start.
Features
Advantages
- High field accuracy (90.2%)
- Schema flexibility with JSON Schema support
- Efficient handling of multi-page documents
- Supports both local and remote inference
- CLI and Schema Studio tools for ease of use
- Free $20 monthly credits and public playground access
- Apache-2.0 licensed code with OpenRAIL-M model weights for research/startups
- Commercial licensing options available
Disadvantages
- OpenRAIL-M license restricts commercial use beyond $5M revenue
- 9B model size requires significant computational resources
- Lower full-document accuracy (20.9%) compared to some competitors
- Requires a predefined JSON schema for extraction
- Setup complexity for local models (e.g., needing PyTorch for HuggingFace backend)
Installation
docker
lift_vllm
native
pip install lift-pdf
FAQ
What is lift and what can it extract?
lift is a 9B vision model that extracts structured JSON from PDFs and images by passing a JSON schema. It returns a schema‑aligned JSON object, guaranteeing valid output through schema‑constrained decoding. It handles multi‑page documents, cross‑page values, and nested structures.
How do I install lift for local inference with the vLLM backend?
Run `pip install lift-pdf`. This installs the base package with the lightweight vLLM backend. For the HuggingFace backend you can install `pip install lift-pdf[hf]` which pulls in torch and transformers.
How can I use the CLI to extract data from a PDF?
Use `lift_extract input.pdf ./output --schema schema.json`. The `--schema` flag accepts a file path, inline JSON string, or a saved schema name. You can also specify `--page-range` to limit pages and `--max-output-tokens` to cap output size. The CLI writes `<filename>.json` and `<filename>_metadata.json` to the output directory.
What inference methods are available and when should I use each?
lift supports two methods: `vllm` (default, lightweight, Docker‑based) and `hf` (HuggingFace). Use `vllm` for quick local inference or production deployments; use `hf` if you need the HuggingFace backend or want to run the model directly in Python with torch.
How do I run the vLLM server for batch processing or production?
Launch the server with `lift_vllm`. It starts a Docker container tuned for your GPU (default H100). You can specify GPU type with `--gpu a100-80`, etc. The server exposes a vLLM API at `http://localhost:8000/v1` and can be configured via environment variables like `VLLM_API_BASE` and `VLLM_GPUS`.
Featured in Videos
YouTube tutorials and walkthroughs for lift
sd
80,246 views
Starts at 00:00
Alternatives
Similar projects ranked by category, topics, and text overlap.