Mindket

lift

Newversion 1 · updated

Overview

Pulls structured data out of PDFs and images. You supply a JSON schema, and it returns an object that matches it. A 9.7B vision-language model from Datalab for developers who process documents.

lift is a kit in the Developer category, listed by Mindket. It is free. This is version 1, last updated on . Download it on this page, a zip of its files. Nothing in it runs by itself.

At a glance

You need
  • Python with pip
  • The lift-pdf package
  • Either a vLLM server, which is the recommended and lighter route, or torch for the Hugging Face route
  • About 19.3 GB for the BF16 weights, or about 4.8 GB at 4-bit, which is an estimate
Runs in
  • Python, through the lift-pdf package
  • A local vLLM server, started with lift_vllm
  • Hugging Face Transformers, for in-process use that needs torch
  • Windows, macOS or Linux with Python
Start with
pip install lift-pdf
lift_vllm
lift_extract input.pdf ./output --schema schema.json

Platform

WindowsOperating system
macOSOperating system
LinuxOperating system

About

What it is

lift is a document extraction model from Datalab. It reads PDFs and images and returns structured JSON. You give it a JSON schema, and it decodes under that schema, so the result is valid and correctly typed. It reads a multi-page document in one pass, including values that run across pages. It has 9.7B parameters and weighs about 19.3 GB in BF16.

Who it suits

It suits developers who turn invoices, reports and forms into database rows and want to run the extraction on their own hardware.

IndustryWho uses itHow they use itExample
FinanceTeams that process invoicesExtract fields and line items from invoice PDFsA schema with an invoice number, a total and a list of line items
OperationsBack-office developersTurn forms and reports into structured recordsFields missing from a page come back as null
ResearchTeams that build document pipelinesCompare extraction accuracy on long documentsThe card tests 225 documents with about 11,000 scored fields

You can skip it if you only need plain text from a page, since it is built to fill a schema, and the weights carry a license with limits on competing use.

Where to use it

  • Python, through the lift-pdf package
  • A local vLLM server, started with lift_vllm
  • Hugging Face Transformers, for in-process use that needs torch
  • Windows, macOS or Linux with Python
  • A command line, for single files or whole folders
Use caseWhoWhat they get back
Invoice extractionFinance developersA JSON object with the invoice number, total and line items
Multi-page reportsData engineersValues that span pages, collected in a single pass
Schema design and testingAnalystsSchema Studio, a small app for drafting and trying out schemas on sample files

How to set it up

You need Python, a GPU for the vLLM route and room for the weights.

  • Python with pip
  • The lift-pdf package
  • Either a vLLM server, which is the recommended and lighter route, or torch for the Hugging Face route
  • About 19.3 GB for the BF16 weights, or about 4.8 GB at 4-bit, which is an estimate
  1. Install the lift-pdf package.
  2. Start the vLLM server with lift_vllm.
  3. Write a JSON schema file with the fields you want.
  4. Run lift_extract on a PDF with that schema.
pip install lift-pdf
lift_vllm
lift_extract input.pdf ./output --schema schema.json

To download the model files yourself with the Hugging Face tools, use these two lines:

pip install -U huggingface_hub
hf download datalab-to/lift

How to use it

A schema is standard JSON Schema. Strings, numbers, integers, booleans, arrays and nested objects are supported. Describe any field with an unclear name. Mark a field required only if it must always be present. In Python, start the server first, then call extract:

from lift import extract
from lift.model import InferenceManager

# Start the vLLM server first with: lift_vllm
model = InferenceManager(method="vllm")
result = extract("document.pdf", "schema.json", model=model)
print(result.extraction)
ToolWhat it does
lift_vllmStarts the local vLLM server
lift_extractCommand line that extracts one file or a folder
extractPython function that takes a document and a schema
InferenceManagerChooses between the vllm and hf methods
page_rangeLimits which PDF pages are read
VLLM_API_BASEPoints the client at a remote server

Example

You ask for an invoice number, a total and a list of line items. lift reads the PDF and returns one JSON object with those three keys. A field that is not in the document comes back as null instead of a guess.

For newcomers and experts

Think of it as a clerk who fills in a form for you from a pile of papers, and the form is your schema. A first small try is one invoice PDF and a three-field schema.

The constrained decoding means the output always parses and matches your types, though a valid value can still be wrong. The card scores each field by exact match, with tolerance for numbers. It reports that the model gets 90.2% of fields right but only 20.9% of whole documents fully right, so long documents still need review.

  1. Write a JSON schema
  2. Start the vLLM server or load the model
  3. Pass a PDF and the schema to extract
  4. The model decodes under the schema
  5. Read the JSON result

Good to know

The card compares lift with other options on its own benchmark. Latency is per document with 8 concurrent requests, so treat it as relative.

The card's benchmark
ModelField accuracyFull-document accuracyMedian latency
Datalab API95.9%44.4%30.8s
Gemini Flash 3.591.3%40.0%28.1s
lift90.2%20.9%9.5s
Azure Content Understanding83.4%22.2%73.7s
NuExtract381.5%8.4%8.3s
Qwen3.5-9B76.3%24.0%16.8s
Field accuracy on the card's 225-document test
Datalab API95.9%
Gemini Flash 3.591.3%
lift90.2%
Azure Content Understanding83.4%
NuExtract381.5%
Qwen3.5-9B76.3%
  • Other versions: other people have published 15 quantized and 3 fine-tuned versions
  • License: the code is Apache 2.0. The weights use a modified OpenRAIL-M license with a no-competition clause, and it is free for research, personal use or a startup below 5M in funding or revenue
  • Cost to run: none named for local use, and the hosted API has its own pricing
  • Data it reaches: the documents you pass in and the files you download, plus a remote server only if you point VLLM_API_BASE at one
  • Not for: plain text reading, or fully unreviewed extraction from long documents

README and files

README

lift

Pulls structured data out of PDFs and images. You supply a JSON schema, and it returns an object that matches it. A 9.7B vision-language model from Datalab for developers who process documents.

Made by datalab-to on Hugging Face. These notes are Mindket's, written from its model page and model card; the model's own files and license are on Hugging Face.

About

What it is: lift is a document extraction model from Datalab. It reads PDFs and images and returns structured JSON. You give it a JSON schema, and it decodes under that schema, so the result is valid and correctly typed. It reads a multi-page document in one pass, including values that run across pages. It has 9.7B parameters and weighs about 19.3 GB in BF16.

Who it suits: It suits developers who turn invoices, reports and forms into database rows and want to run the extraction on their own hardware.

Industry | Who uses it | How they use it | Example
Finance | Teams that process invoices | Extract fields and line items from invoice PDFs | A schema with an invoice number, a total and a list of line items
Operations | Back-office developers | Turn forms and reports into structured records | Fields missing from a page come back as null
Research | Teams that build document pipelines | Compare extraction accuracy on long documents | The card tests 225 documents with about 11,000 scored fields

You can skip it if you only need plain text from a page, since it is built to fill a schema, and the weights carry a license with limits on competing use.

Where to use it:

  • Python, through the lift-pdf package
  • A local vLLM server, started with lift_vllm
  • Hugging Face Transformers, for in-process use that needs torch
  • Windows, macOS or Linux with Python
  • A command line, for single files or whole folders
Use case | Who | What they get back
Invoice extraction | Finance developers | A JSON object with the invoice number, total and line items
Multi-page reports | Data engineers | Values that span pages, collected in a single pass
Schema design and testing | Analysts | Schema Studio, a small app for drafting and trying out schemas on sample files

How to set it up: You need Python, a GPU for the vLLM route and room for the weights.

  • Python with pip
  • The lift-pdf package
  • Either a vLLM server, which is the recommended and lighter route, or torch for the Hugging Face route
  • About 19.3 GB for the BF16 weights, or about 4.8 GB at 4-bit, which is an estimate
  1. Install the lift-pdf package.
  2. Start the vLLM server with lift_vllm.
  3. Write a JSON schema file with the fields you want.
  4. Run lift_extract on a PDF with that schema.
pip install lift-pdf
lift_vllm
lift_extract input.pdf ./output --schema schema.json

To download the model files yourself with the Hugging Face tools, use these two lines:

pip install -U huggingface_hub
hf download datalab-to/lift

How to use it: A schema is standard JSON Schema. Strings, numbers, integers, booleans, arrays and nested objects are supported. Describe any field with an unclear name. Mark a field required only if it must always be present. In Python, start the server first, then call extract:

from lift import extract
from lift.model import InferenceManager

# Start the vLLM server first with: lift_vllm
model = InferenceManager(method="vllm")
result = extract("document.pdf", "schema.json", model=model)
print(result.extraction)
Tool | What it does
lift_vllm | Starts the local vLLM server
lift_extract | Command line that extracts one file or a folder
extract | Python function that takes a document and a schema
InferenceManager | Chooses between the vllm and hf methods
page_range | Limits which PDF pages are read
VLLM_API_BASE | Points the client at a remote server

Example: You ask for an invoice number, a total and a list of line items. lift reads the PDF and returns one JSON object with those three keys. A field that is not in the document comes back as null instead of a guess.

For newcomers and experts: Think of it as a clerk who fills in a form for you from a pile of papers, and the form is your schema. A first small try is one invoice PDF and a three-field schema.

The constrained decoding means the output always parses and matches your types, though a valid value can still be wrong. The card scores each field by exact match, with tolerance for numbers. It reports that the model gets 90.2% of fields right but only 20.9% of whole documents fully right, so long documents still need review.

Write a JSON schema
Start the vLLM server or load the model
Pass a PDF and the schema to extract
The model decodes under the schema
Read the JSON result

Good to know: The card compares lift with other options on its own benchmark. Latency is per document with 8 concurrent requests, so treat it as relative.

Title: The card's benchmark
Model | Field accuracy | Full-document accuracy | Median latency
Datalab API | 95.9% | 44.4% | 30.8s
Gemini Flash 3.5 | 91.3% | 40.0% | 28.1s
lift | 90.2% | 20.9% | 9.5s
Azure Content Understanding | 83.4% | 22.2% | 73.7s
NuExtract3 | 81.5% | 8.4% | 8.3s
Qwen3.5-9B | 76.3% | 24.0% | 16.8s
Title: Field accuracy on the card's 225-document test
Datalab API: 95.9%
Gemini Flash 3.5: 91.3%
lift: 90.2%
Azure Content Understanding: 83.4%
NuExtract3: 81.5%
Qwen3.5-9B: 76.3%
  • Other versions: other people have published 15 quantized and 3 fine-tuned versions
  • License: the code is Apache 2.0. The weights use a modified OpenRAIL-M license with a no-competition clause, and it is free for research, personal use or a startup below 5M in funding or revenue
  • Cost to run: none named for local use, and the hosted API has its own pricing
  • Data it reaches: the documents you pass in and the files you download, plus a remote server only if you point VLLM_API_BASE at one
  • Not for: plain text reading, or fully unreviewed extraction from long documents

On Hugging Face, 13 November 2026

  • Task: image text to text
  • Library: transformers
  • Parameters: 9.7B
  • Weights: about 19.3 GB in BF16; about 4.8 GB at 4-bit (estimate)
  • Formats: Safetensors
  • Downloads in the last 30 days: 11,454
  • Likes: 210
  • License: openrail
  • Quantized versions: 15
  • Fine-tunes: 3
  • Tags: transformers, safetensors, qwen3_5, image-text-to-text, extraction, structured-data, json, conversational

Links

Get the model

Download its files with Hugging Face's command line:

pip install -U huggingface_hub
hf download datalab-to/lift

Then follow the usage in its model card. Nothing in this kit runs by itself.

Files
README.md  7 KB

1 file, 7 KB, downloaded as a zip.

What’s new

  • Version 1 · 2026-11-13

Compare with similar

Listed Hugging Face models in the same category that share the most tags with this one.

ProductDownloads, last 30 daysLikesParametersLicenseLast change
lift This page11,4542109.7Bopenrail
THX-01Shares extraction · safetensors78993322Mapache-2.0
Parallel Constrained Decoding for Apple SiliconShares json0592—apache-2.0
Qwen3.8-27BShares qwen3_5 · image-text-to-text · conversational6,960,39519,79527.8Bapache-2.0
Qwen3.5-9BShares qwen3_5 · image-text-to-text · conversational6,259,8092,3539.7Bapache-2.0
Qwen3.8-27B-FP8Shares qwen3_5 · image-text-to-text · conversational5,442,81098427.8Bapache-2.0
Numbers as Mindket last read them, from 2026-11-12 to 2026-11-13.

Reviews

No ratings yet

Write a review

No reviews yet.

What people say

Posts and comments that name this project on Hacker News, Bluesky, X, Reddit, Facebook and YouTube, found by a weekly search and on Trendshift. Mindket doesn’t write or check them. Open one to read it where it was posted.

Searched

More from Mindket

See all from Mindket

Bonsai-27B-GGUF

lmstudio-community · Kit

A GGUF conversion of the 27B Bonsai model for LM Studio, with a 3.80 GB Q1_0 language file and a 0.93 GB BF16 vision projector. Tested for text, vision and par…

New

Runs DeepSeek-V4.1-Flash-1017 as a 2.9 bits-per-weight EXL3 quantization, a 196 GiB copy for people serving large models on their own hardware. Perplexity stay…

New

MusicGen Small

facebook · Kit

Generates short music clips from a text description or an audio prompt, in the small checkpoint of facebook's MusicGen. It suits developers and music hobbyists…

New

Similar in Developer

See all in Developer

Lexnet

alpindale · Kit

Tags every character of C source code for syntax highlighting with a tiny neural network of about 984 weights, run through a small C program. For developers an…

New

FLUX.2 Klein LoRA Studio

prithivMLmods · Kit

Try a set of LoRAs for the FLUX.2 Klein image model in a Gradio app that runs in your browser or on your own computer. Made for people who make or test AI imag…

New

anaksor-ocr

Sokheng · Kit

Reads Khmer and English text from documents, receipts and photos of signs, using a detector for text lines and a recogniser for each line. Suits developers who…

New