Downloads · 30 days
237
20% of all-time downloads
FrontiersMind/Lumma-0.6B-Extract
Lumma-0.6B-Extract is a text generation model from FrontiersMind. Use it when you need the model to write or continue text. It is set up for transformers. The card lists the license as apache-2.0.
Based on Lumma-0.6B-Base, Lumma-0.6B-Extract is a lightweight, single-turn specialized model designed to accurately extract structured information from text in one step, enabling efficient and reliable information ext…
Downloads · 30 days
237
20% of all-time downloads
All-time downloads
1.2K
Public
Parameters
649M
1.3 GB on disk
Likes
11
Public
Click a slice to open those files.
.safetensors1.3 GB · 99%
How the weights are stored.
BF16649M · 100%
From the Hugging Face model README
Based on Lumma-0.6B-Base, Lumma-0.6B-Extract is a lightweight, single-turn specialized model designed to accurately extract structured information from text in one step, enabling efficient and reliable information extraction.
We benchmarked Lumma-0.6B-Extract on FrontiersMind's internal structured benchmark, measuring model's performances on ~500 documents of diverse types including invoices,travel itenaries, OCR Extracted text & Emails etc. We plan to open-source this benchmark in the coming weeks, along with a extensive leaderboard including most popular open-weight and closed-sourced APIs and a Python library allowing to easily measure model performances on structured extraction.
[!NOTE] 🚧 Coming Soon: We will soon be bringing multilingual Indic language support to Lumma-0.6B-Extract.
Lumma-0.6B-Extract uses a JSON template to define the information that should be extracted from the input text.
The extraction process consists of two main steps:
This approach allows users to define custom extraction schemas depending on their application.
Template:
{
"name": "string",
"company": "string",
"job_title": "string"
}
Input text:
John Smith joined Acme Corporation as a Senior Software Engineer.
Expected output:
{
"name": "John Smith",
"company": "Acme Corporation",
"job_title": "Senior Software Engineer"
}
import torch
import json
from transformers import AutoModelForCausalLM, AutoTokenizer
MODEL_PATH = "FrontiersMind/Lumma-0.6B-Extract"
tokenizer = AutoTokenizer.from_pretrained(
MODEL_PATH,
trust_remote_code=True
)
model = AutoModelForCausalLM.from_pretrained(
MODEL_PATH,
trust_remote_code=True,
torch_dtype=torch.bfloat16,
device_map="auto"
)
model.eval()
input_text = "John Smith joined Acme Corporation as a Senior Software Engineer."
template = {
"name": "string",
"company": "string",
"job_title": "string",
}
prompt = tokenizer.apply_chat_template(
input_text=input_text,
template=template,
tokenize=False,
add_generation_prompt=True
)
inputs = tokenizer(prompt, return_tensors="pt", add_special_tokens=False).to(model.device)
with torch.inference_mode():
out = model.generate(
**inputs,
max_new_tokens=512,
do_sample=False,
eos_token_id=tokenizer.eos_token_id,
pad_token_id=tokenizer.pad_token_id,
)
raw = tokenizer.decode(out[0, inputs["input_ids"].shape[1]:], skip_special_tokens=False)
pred = raw.split("<|endoftext|>")[0].strip()
print(json.dumps(json.loads(pred), indent=4))
This model is released under the Apache License 2.0.
We’d love to hear your thoughts, feedback, and ideas!