ToolWeave_stage3 / README.md
muradil211's picture
Update Stage 3 evaluation results
23c5d63 verified
|
Raw
History Blame Contribute Delete
2.32 kB
---
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)