Instructions to use lyrain2001/Auto-Fill-Qwen3-8B-Reasoning with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use lyrain2001/Auto-Fill-Qwen3-8B-Reasoning with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="lyrain2001/Auto-Fill-Qwen3-8B-Reasoning") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("lyrain2001/Auto-Fill-Qwen3-8B-Reasoning") model = AutoModelForCausalLM.from_pretrained("lyrain2001/Auto-Fill-Qwen3-8B-Reasoning", device_map="auto") messages = [ {"role": "user", "content": "Who are you?"}, ] inputs = tokenizer.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=40) print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use lyrain2001/Auto-Fill-Qwen3-8B-Reasoning with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "lyrain2001/Auto-Fill-Qwen3-8B-Reasoning" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "lyrain2001/Auto-Fill-Qwen3-8B-Reasoning", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/lyrain2001/Auto-Fill-Qwen3-8B-Reasoning
- SGLang
How to use lyrain2001/Auto-Fill-Qwen3-8B-Reasoning with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "lyrain2001/Auto-Fill-Qwen3-8B-Reasoning" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "lyrain2001/Auto-Fill-Qwen3-8B-Reasoning", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "lyrain2001/Auto-Fill-Qwen3-8B-Reasoning" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "lyrain2001/Auto-Fill-Qwen3-8B-Reasoning", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use lyrain2001/Auto-Fill-Qwen3-8B-Reasoning with Docker Model Runner:
docker model run hf.co/lyrain2001/Auto-Fill-Qwen3-8B-Reasoning
Auto-Fill Reasoning Specialist (Qwen3-8B)
The reasoning specialist of Auto-Fill: Learning to Predict Missing Values Accurately with Specialist Language Models
(PVLDB 19(11), 2026 — arXiv:2607.19847).
Given a table with one cell marked [MISSING], this model reasons step by step before answering and reports a verbalized confidence; it targets cells that require inferring implicit patterns or relationships across rows and columns.
Auto-Fill runs three specialists in parallel — knowledge, reasoning and coding — calibrates their confidences with isotonic regression and returns the most confident answer (or abstains). Sibling specialists: Knowledge · Coding.
- Code: https://github.com/lyrain2001/auto-fill
- Benchmark: lyrain2001/Auto-Fill-Benchmark
- Calibrators:
calibrators.jsonin this repo (also in the code repository undercheckpoints/)
Model details
| Base model | Qwen/Qwen3-8B |
| Training | full-parameter SFT with ms-swift, DeepSpeed ZeRO-3, bf16 |
| Data | 59,367 examples: chain-of-thought traces distilled from DeepSeek-R1 (<think>…</think> + answer). Only traces with a correct answer are kept; the confidence label comes from a two-stage procedure described in the paper (§ Training Specialist Models). |
| Hyper-parameters | 2 epochs, lr 2e-5, cosine schedule, weight decay 0.1, max length 40,960, effective batch size 16 |
| Hardware | 4× A100 80 GB |
| Confidence signal | the verbalized integer confidence (0–100) in the answer JSON, scaled to [0, 1]. Calibrated with isotonic regression fitted on a held-out validation split (calibrators.json). |
| Decoding used in the paper | temperature 0.8, max new tokens 32768, default Qwen3 chat template |
Training tables come from public sources only (spreadsheets crawled from a search-engine index, public BI models, Wikipedia, nationalarchives.gov.uk, GitHub CSV/Parquet files); one cell per table is masked and its original value is the target.
Prompt and output format
The table is serialized as a Markdown pipe table (pandas.DataFrame.to_markdown(index=False, tablefmt="pipe"))
with the cell to fill written as [MISSING]. The user message is exactly (see autofill/utils/prompts.py):
Please fill in the missing value in the input table and provide your confidence level as an integer between 0 (no confidence) and 100 (full confidence). The missing value is denoted by '[MISSING]'. Please return the value filled in JSON format: {"value": "filled_value", "confidence": confidence_level}.
Input Table:
<markdown table>
Expected output: <think> … </think> followed by {"value": "<filled value>", "confidence": <0-100>}.
Usage
With the code repository (recommended) — runs the full ensemble on one table:
python inference/run_specialists.py \
--table /path/to/table.csv \
--knowledge_path lyrain2001/Auto-Fill-Qwen3-8B-Knowledge \
--reasoning_path lyrain2001/Auto-Fill-Qwen3-8B-Reasoning \
--coding_path lyrain2001/Auto-Fill-Qwen3-8B-Coding \
--calibrators checkpoints/calibrators.json \
--gpu_ids 0,1,2
or this specialist alone on the benchmark:
python inference/run_benchmark.py --mode reasoning --model_path lyrain2001/Auto-Fill-Qwen3-8B-Reasoning \
--dataset Gov-CSV --benchmark Auto-Fill-Benchmark/sample200 --gpu_ids 0
Minimal vLLM example
import pandas as pd
from vllm import LLM, SamplingParams
llm = LLM(model="lyrain2001/Auto-Fill-Qwen3-8B-Reasoning", dtype="bfloat16", max_model_len=40960)
table = pd.read_csv("table.csv", dtype=str).to_markdown(index=False, tablefmt="pipe", disable_numparse=True)
prompt = PROMPT + table # PROMPT = the user message above, up to and including "Input Table:\n"
text = llm.get_tokenizer().apply_chat_template(
[{"role": "user", "content": prompt}], tokenize=False, add_generation_prompt=True)
out = llm.generate([text], SamplingParams(temperature=0.8, max_tokens=32768))
print(out[0].outputs[0].text)
Results
Recall@Precision=0.9 on the Auto-Fill benchmark (200 cases per dataset; from the paper's specialist ablation):
| Pub-XLS | Pub-BI | Pub-Wiki | Gov-CSV | Git-Parquet | Ent-CSV* | Ent-XLS* | Pub-Web | Rel-AR | Rel-FD | Rel-ST | Mean | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Reasoning specialist alone | 0.360 | 0.000 | 0.000 | 0.455 | 0.475 | 0.115 | 0.535 | 0.000 | 0.815 | 0.865 | 0.975 | 0.418 |
| Auto-Fill (all three + ensemble) | 0.525 | 0.615 | 0.285 | 0.500 | 0.590 | 0.585 | 0.660 | 0.275 | 0.990 | 0.890 | 0.995 | 0.628 |
* Ent-CSV / Ent-XLS are proprietary enterprise datasets that are not part of the public benchmark.
Limitations
- Trained and evaluated on English-language tables with one missing cell per table; tables were serialized with at most 40,960 tokens.
- The model can be wrong with high confidence on cells that require knowledge outside the table; use the calibrated confidence and abstain below a threshold, as in the paper.
- Generated code (coding specialist) should be executed in a sandbox.
Citation
@article{liu2026autofill,
title={Auto-Fill: Learning to Predict Missing Values Accurately with Specialist Language Models},
author={Liu, Yurong and He, Yeye and Dong, Haoyu and Xing, Junjie and Han, Shi and Zhang, Dongmei and Chaudhuri, Surajit},
journal={Proceedings of the VLDB Endowment},
volume={19},
number={11},
pages={3160--3173},
year={2026}
}
- Downloads last month
- 83