Davinci-Tool-30B

📄 Paper · 💻 Code · 🤗 Davinci-Tool-30B · 🤗 Davinci-Tool-30B-SFT · 🤗 Davinci-ToolData

Davinci-Tool-30B is a 30B-parameter (3B activated) Mixture-of-Experts model for agentic, multi-turn tool use, trained with SFT on Davinci-ToolData (30,395 execution-verified trajectories spanning 2,260 invoked tools) followed by decision-level DPO. It improves Qwen3-Coder-30B-A3B-Instruct from 52.4 to 88.2 on τ²-bench, from 30.4 to 62.8 on BFCL v4 multi-turn, and from 16.9 to 56.2 on MCP-Atlas, outperforming Qwen3-Coder-480B-A35B-Instruct on all three benchmarks with 1/16 of its total parameters.

Benchmark comparison

Performance on τ²-bench, BFCL v4 multi-turn, and MCP-Atlas. Davinci-Tool-30B (after DPO) is hatched; its SFT checkpoint is shown for comparison.

Method

Davinci-Tool overview

Construction of Davinci-ToolData and training of Davinci-Tool.

Davinci-ToolData is built by two complementary pipelines that share one execution and verification interface:

  • EGTS — Execution-Grounded Task Synthesis (authored systems). An explorer interacts with a resettable executable world; user tasks are synthesized from the recorded outcome; the world is reset and the task is replayed with a guide, and the replay is accepted only if it recovers the explored outcome. Structural checks, a hard factual judge, and a soft quality judge filter the results.
  • EES — Executable Environment Synthesis (synthesized systems). Audited executable domains (191 domains in 19 categories) produce state-grounded tasks with executable verifiers within one domain (EES-Single), and are composed into shared multi-domain worlds (246 compositions) with shared entities, linking fields, cross-domain policies, and coherence constraints (EES-Cross).

Training has two stages: SFT on the verified demonstrations, then decision-level DPO, which reuses restorable states and executable verifiers to fork the SFT policy at decision points, execute alternative actions from the same state, and keep pairs whose verified downstream outcomes differ (1,150 pairs).

Main results

Model τ²-bench Retail τ²-bench Telecom τ²-bench Avg. BFCL v4 MT Avg. MCP-Atlas
Qwen3-Coder-480B-A35B-Instruct 77.5 39.5 58.5 43.5 28.1
Kimi-K2-Instruct 70.6 65.8 68.2 33.4 59.6
MiniMax-M2.1 81.6 87.0 84.3 71.4 59.6
GLM-4.7 79.8 98.2 89.0 65.4 55.1
GPT-5.2 81.6 98.2 89.9 28.9 61.8
Claude-Sonnet-4.5 86.0 98.0 92.0 55.3 65.2
Qwen3-Coder-30B-A3B-Instruct 68.7 36.0 52.4 30.4 16.9
+ Toucan-1.5M SFT 65.8 89.5 77.7 41.9 22.5
+ Davinci-ToolData SFT (Davinci-Tool-30B-SFT) 73.7 96.5 85.1 60.6 52.8
+ SFT + DPO (Davinci-Tool-30B) 79.8 96.5 88.2 62.8 56.2

All scores are from the authors' evaluations under the official protocols; MCP-Atlas uses the 89 tasks that do not require external API keys. Under the same backbone and SFT hyperparameters, Davinci-ToolData exceeds the public Toucan-1.5M release by 7.4 / 18.7 / 30.3 points.

Transfer to smaller models (SFT on Davinci-ToolData):

Model τ²-bench Avg. BFCL v4 MT Avg.
Qwen3-8B → + Davinci-ToolData 32.5 → 74.6 15.4 → 33.9
Qwen3-14B → + Davinci-ToolData 33.4 → 76.8 21.1 → 41.4

Data sources are complementary (SFT on Qwen3-Coder-30B-A3B-Instruct):

EGTS EES-Single EES-Cross τ²-bench BFCL v4 MCP-Atlas
✓ 78.9 57.4 28.1
✓ 82.0 54.5 29.2
✓ 83.4 46.6 47.2
✓ ✓ 79.4 57.6 31.5
✓ ✓ 82.9 55.6 50.6
✓ ✓ ✓ 85.1 60.6 52.8

Quickstart

The model uses the Qwen3-Coder chat template and tool-call format (chat_template.jinja).

vLLM

vllm serve SII-Enigma/Davinci-Tool-30B \
  --enable-auto-tool-choice \
  --tool-call-parser qwen3_coder \
  --max-model-len 65536

Then call it through any OpenAI-compatible client with a tools list.

Transformers

from transformers import AutoModelForCausalLM, AutoTokenizer

model_id = "SII-Enigma/Davinci-Tool-30B"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id, torch_dtype="auto", device_map="auto")

tools = [{
    "type": "function",
    "function": {
        "name": "get_weather",
        "description": "Get the current weather for a city.",
        "parameters": {
            "type": "object",
            "properties": {"city": {"type": "string"}},
            "required": ["city"],
        },
    },
}]
messages = [{"role": "user", "content": "What's the weather in Shanghai?"}]

inputs = tokenizer.apply_chat_template(
    messages, tools=tools, add_generation_prompt=True, return_tensors="pt"
).to(model.device)
outputs = model.generate(inputs, max_new_tokens=512, use_cache=True)
print(tokenizer.decode(outputs[0][inputs.shape[-1]:], skip_special_tokens=False))

generation_config.json ships the Qwen3-Coder default sampling settings (temperature=0.7, top_p=0.8, top_k=20, repetition_penalty=1.05).

Model details

Architecture Qwen3MoeForCausalLM
Parameters 30.5B total, 3.3B activated
Layers / experts 48 layers, 128 experts, 8 activated per token
Attention 32 query heads, 4 KV heads (GQA)
Context (config) 262,144 tokens
Precision BF16 safetensors

Training settings

Setting SFT DPO
Initialization Qwen3-Coder-30B-A3B-Instruct SFT checkpoint (also the frozen reference)
Data Davinci-ToolData, 30,395 trajectories 1,150 decision-level preference pairs
Learning rate / schedule 1e-5, cosine, no warmup 5e-6, cosine, 3% warmup
Epochs 4 1
Max sequence length 32,768 24,576
Batch per device × grad. accum. 1 × 4 1 × 4
Other assistant-token loss, sample packing, BF16, ZeRO-3 β = 1.0, precomputed reference log-probs

License

Released under the Apache 2.0 License, following the base model Qwen3-Coder-30B-A3B-Instruct.

Citation

@misc{yuan2026davincitoolscalingagentictooluse,
      title={Davinci-Tool: Scaling Agentic Tool-Use Supervision with Verifiable Executable Environments}, 
      author={Xiaoyang Yuan and Ji Zhao and Xingyu Hu and Wenhan Wang and Yutao Hu and Qiaosheng Zhang and Pengfei Liu and Yu Qiao and Yi Bin and Wenqi Shao},
      year={2026},
      eprint={2610.16867},
      archivePrefix={arXiv},
      primaryClass={cs.LG},
      url={https://arxiv.org/abs/2610.16867}, 
}
Downloads last month
298
Safetensors
Model size
211k params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for SII-Enigma/Davinci-Tool-30B

Finetuned
(96)
this model
Quantizations
1 model

Dataset used to train SII-Enigma/Davinci-Tool-30B

Collection including SII-Enigma/Davinci-Tool-30B

Paper for SII-Enigma/Davinci-Tool-30B