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…
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.
pip install lift-pdf lift_vllm lift_extract input.pdf ./output --schema schema.json
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.
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.
| 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 |
You need Python, a GPU for the vLLM route and room for the weights.
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
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 |
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.
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.
The card compares lift with other options on its own benchmark. Latency is per document with 8 concurrent requests, so treat it as relative.
| 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 |
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.
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:
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.
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%
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.
README.md 7 KB
Listed Hugging Face models in the same category that share the most tags with this one.
| Product | Downloads, last 30 days | Likes | Parameters | License | Last change |
|---|---|---|---|---|---|
| lift This page | 11,454 | 210 | 9.7B | openrail | |
| THX-01Shares extraction · safetensors | 789 | 93 | 322M | apache-2.0 | |
| Parallel Constrained Decoding for Apple SiliconShares json | 0 | 592 | — | apache-2.0 | |
| Qwen3.8-27BShares qwen3_5 · image-text-to-text · conversational | 6,960,395 | 19,795 | 27.8B | apache-2.0 | |
| Qwen3.5-9BShares qwen3_5 · image-text-to-text · conversational | 6,259,809 | 2,353 | 9.7B | apache-2.0 | |
| Qwen3.8-27B-FP8Shares qwen3_5 · image-text-to-text · conversational | 5,442,810 | 984 | 27.8B | apache-2.0 |
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.
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…
LibertAIDAI · Kit
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…
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…
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…
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…
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…