File size: 2,322 Bytes
aab093f
 
 
 
 
 
 
4236e7e
 
 
aab093f
 
c95fd80
0ecbe95
40cf8cb
0ecbe95
40cf8cb
0ecbe95
4236e7e
 
40cf8cb
 
5c9a776
40cf8cb
0ecbe95
c95fd80
0ecbe95
40cf8cb
0ecbe95
40cf8cb
 
4236e7e
444bdbe
4236e7e
 
 
0ecbe95
4236e7e
0ecbe95
23c5d63
 
 
 
 
 
 
 
 
 
 
 
40cf8cb
0ecbe95
 
 
 
c95fd80
 
 
0ecbe95
 
c95fd80
0ecbe95
4236e7e
0ecbe95
40cf8cb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
---
library_name: transformers
pipeline_tag: text-generation
tags:
- qwen3
- tool-calling
- bfcl
- agentic-rl
- progress-reward
- online-synthesis
---

<div align="center">

<img src="assets/toolweave-mark.svg" alt="ToolWeave mark" width="128">

<h1>ToolWeave · Stage 3</h1>

<p><strong>🧭 Boundary-Guided Online Reinforcement Learning</strong></p>
<p>Verified online data synthesis for multi-turn tool-calling agents.</p>

<p>
  <a href="https://github.com/Muradil-mamat-211/ToolWeave">🧵 Project</a>
</p>

</div>

## 🧭 At a glance

| Field | Details |
|---|---|
| 🧠 Base family | Qwen3-4B-Instruct |
| 🪜 Curriculum stage | Stage 3 — Boundary-Guided Online Reinforcement Learning |
| 🧱 Starting point | ToolWeave Stage 2 update 25 |
| 🎛️ Training signal | Verified online data synthesis + multi-turn Progress Reward |
| ✅ Release status | Final ToolWeave Stage 3 model |

ToolWeave Stage 3 expands multi-turn tool-use learning through capability-boundary detection, verified online data synthesis, strict execution and semantic validation, dynamic replay, and combined global/local tool-call credit.

## 📊 Stage 3 evaluation

The final ToolWeave Stage 3 checkpoint was evaluated on the canonical balanced 400-row held-in set: 100 entries each from Base, Missing Function, Missing Parameter, and Long Context. These values are complete-entry BFCL Multi-Turn accuracies, not the training-time Progress Reward (`R_P`).

| Model | Overall | Base | Missing Function | Missing Parameter | Long Context | Correct entries |
|---|---:|---:|---:|---:|---:|---:|
| **ToolWeave Stage 3** | **48.50** | **56.00** | **50.00** | **42.00** | **46.00** | **194 / 400** |

Because the four categories are balanced, the overall score is their unweighted mean and the complete-entry accuracy over all 400 entries:

`(56.00 + 50.00 + 42.00 + 46.00) / 4 = 48.50`

## 🚀 Usage

```python
from transformers import AutoModelForCausalLM, AutoTokenizer

model_id = "muradil211/ToolWeave_stage3"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id, device_map="auto")
```

Tool-use inference requires the model's function schemas and the Qwen3-compatible tool-call format.

## 🔗 Links

- [🧵 ToolWeave project](https://github.com/Muradil-mamat-211/ToolWeave)