Text Generation
Transformers
Safetensors
qwen3
tool-calling
bfcl
agentic-rl
progress-reward
online-synthesis
conversational
text-generation-inference
Instructions to use muradil211/ToolWeave_stage3 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use muradil211/ToolWeave_stage3 with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="muradil211/ToolWeave_stage3") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("muradil211/ToolWeave_stage3") model = AutoModelForCausalLM.from_pretrained("muradil211/ToolWeave_stage3", 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 muradil211/ToolWeave_stage3 with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "muradil211/ToolWeave_stage3" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "muradil211/ToolWeave_stage3", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/muradil211/ToolWeave_stage3
- SGLang
How to use muradil211/ToolWeave_stage3 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 "muradil211/ToolWeave_stage3" \ --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": "muradil211/ToolWeave_stage3", "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 "muradil211/ToolWeave_stage3" \ --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": "muradil211/ToolWeave_stage3", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use muradil211/ToolWeave_stage3 with Docker Model Runner:
docker model run hf.co/muradil211/ToolWeave_stage3
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)
|