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
| 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) | |