DeFT-RAG Decision Model (4B)
The fine-tuned decision model (DM) of DeFT-RAG, from the paper DeFT-RAG: Decomposing Multi-Hop Questions into Self-Contained Sub-Questions with Reusable Answers (Dingyi Kang and Bingzhe Li, University of Texas at Dallas). Code: https://github.com/Dingyi-Kang/DeFT-RAG
This is the model behind every DeFT-RAG result in the paper, with both backbones (gpt-4o-mini and Qwen3.6-35B-A3B).
What it does
DeFT-RAG answers a multi-hop question by asking the LLM for one self-contained sub-question at a time. Every decision in that process is made by this model: it returns a probability for each yes/no question, and a score for the question depth.
- Relevance: is a retrieved passage needed to answer the (sub-)question? (kept if p(yes) โฅ 0.5)
- Sufficiency: do the question's top-10 passages contain everything needed to answer it? (p(yes) โฅ 0.7)
- Question depth: how many hops (chained lookups) does the original question need: none, one, two, or three or more? It is estimated from the question alone, as a score from 0 to 3.
- Direct answer: the question is answered directly from its passages when they are sufficient and its estimated depth is at most 2; otherwise it goes to the loop of sub-questions.
- Enough facts: do the question-answer pairs found so far already answer the original question? (โฅ 0.5)
- Same question (QA cache only): do two sub-questions ask for the same information? (โฅ 0.8)
The exact request for each decision is in deftrag/loop.py of the code repository.
Model
- Base model: StartLux-Decision-4B, a language model that answers typed questions about a state with a probability for each option.
- Fine-tuning: LoRA (rank 16, alpha 32, dropout 0.05) on all attention and MLP projections, 1 epoch, peak learning
rate 1e-4, micro-batches of 8,192 tokens, with the training scripts of the StartLux-Decision release; then one
temperature per question type fitted on the development examples (
decision_config.json). - Data: 48,036 training and 7,806 development examples, labelled only from the gold annotations of the
training splits of MuSiQue, 2WikiMultiHopQA and HotpotQA. No test question, test passage or test-corpus
paragraph was used. The scripts that build the data are in
decision_model/of the code repository.
Files
- The repository root holds the merged model (base weights + LoRA), which is the model served for the paper.
adapter/holds the LoRA adapter alone (adapter_model.safetensors,adapter_config.json) and the calibration file, for use on top of StartLux-Decision-4B.
Usage
The model is served with the server of the StartLux-Decision release, which ships with the base model:
huggingface-cli download startlux-models/StartLux-Decision-4B --local-dir StartLux-Decision-4B # the server code
huggingface-cli download Dingy-Kang/DeFT-RAG-DM-4B --local-dir DeFT-RAG-DM-4B # this model
cd StartLux-Decision-4B && pip install -r requirements.txt
python -m startlux_decision.server --model ../DeFT-RAG-DM-4B --port 8090 --no-images --max-length 16384 --name deftrag-dm
DeFT-RAG then reaches it at http://localhost:8090/v1/systemone (its default). One GPU with about 20 GB of free
memory is enough. See the code repository for running and grading DeFT-RAG.
License
CC BY-NC 4.0, the license of StartLux-Decision-4B, from which this model is derived: research and other
non-commercial use only, with attribution. See LICENSE and NOTICE.
Citation
If you use this model, please cite the DeFT-RAG paper and StartLux-Decision:
@article{kang2026deftrag,
title = {{DeFT-RAG}: Decomposing Multi-Hop Questions into Self-Contained Sub-Questions with Reusable Answers},
author = {Kang, Dingyi and Li, Bingzhe},
journal = {arXiv preprint arXiv:2610.37826},
year = {2026}
}
@misc{startlux2026,
title = {{StartLux-Decision-4B}},
author = {{StartLux Labs}},
howpublished = {\url{https://huggingface.co/startlux-models/StartLux-Decision-4B}},
year = {2026}
}
- Downloads last month
- 7
Model tree for Dingy-Kang/DeFT-RAG-DM-4B
Base model
startlux-models/StartLux-Decision-v1-4B