Instructions to use March07/Qwen2.5-Coder-32B-terminal-agent-sft-allpass2040 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use March07/Qwen2.5-Coder-32B-terminal-agent-sft-allpass2040 with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="March07/Qwen2.5-Coder-32B-terminal-agent-sft-allpass2040") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("March07/Qwen2.5-Coder-32B-terminal-agent-sft-allpass2040") model = AutoModelForCausalLM.from_pretrained("March07/Qwen2.5-Coder-32B-terminal-agent-sft-allpass2040", 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 March07/Qwen2.5-Coder-32B-terminal-agent-sft-allpass2040 with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "March07/Qwen2.5-Coder-32B-terminal-agent-sft-allpass2040" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "March07/Qwen2.5-Coder-32B-terminal-agent-sft-allpass2040", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/March07/Qwen2.5-Coder-32B-terminal-agent-sft-allpass2040
- SGLang
How to use March07/Qwen2.5-Coder-32B-terminal-agent-sft-allpass2040 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 "March07/Qwen2.5-Coder-32B-terminal-agent-sft-allpass2040" \ --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": "March07/Qwen2.5-Coder-32B-terminal-agent-sft-allpass2040", "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 "March07/Qwen2.5-Coder-32B-terminal-agent-sft-allpass2040" \ --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": "March07/Qwen2.5-Coder-32B-terminal-agent-sft-allpass2040", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use March07/Qwen2.5-Coder-32B-terminal-agent-sft-allpass2040 with Docker Model Runner:
docker model run hf.co/March07/Qwen2.5-Coder-32B-terminal-agent-sft-allpass2040
Qwen2.5-Coder-32B-terminal-agent-sft-allpass2040
Full-parameter SFT of Qwen/Qwen2.5-Coder-32B-Instruct on multi-turn terminal-agent trajectories.
Arm A — the all-pass baseline (highest inclusion threshold: only trajectories that passed 100% of their test cases). This is the reference point every other arm is compared against.
Ablation context
These runs study whether the gain from lowering the trajectory-inclusion threshold comes from data quality or data quantity. Lowering the threshold changes both at once (2,040 -> 3,291 trajectories, +61%), so the arms below hold N fixed and vary only composition.
| arm | N | fully-passing | imperfect | imperfect % |
|---|---|---|---|---|
| A (all-pass baseline) | 2,040 | 2,040 | 0 | 0% |
| B (size-matched mix) | 2,040 | 1,255 | 785 | 38% |
| C (all-pass subset of B) | 1,255 | 1,255 | 0 | 0% |
| D-dose20 | 2,040 | 1,632 | 408 | 20% |
| R (full, lowest threshold) | 3,291 | 2,040 | 1,251 | 38% |
This model: 2,040 trajectories, all fully-passing (0% imperfect).
Training data
Multi-turn bash-agent rollouts. Tool calls are emitted as plain text inside the assistant turn
using a <tool_call>{"name": "bash", ...}</tool_call> protocol defined in the system prompt
(not native function calling); tool output returns in a tool role. Loss is computed on
assistant turns only.
Training procedure
Full-parameter SFT via LLaMA-Factory, DeepSpeed ZeRO-3, BF16, on 8x B200.
| hyperparameter | value |
|---|---|
| learning rate | 5e-6 |
| lr scheduler | cosine, warmup ratio 0.1 |
| weight decay | 0.0 |
| optimizer | AdamW |
| epochs | 5 |
| per-device batch size | 1 |
| gradient accumulation | 8 |
| effective batch size | 64 |
| max sequence length | 20,000 |
| precision | bf16 |
| attention | sdpa |
Results
Final train loss 0.2772 (from 0.9261 at the first logged step); mean train loss 0.3899 over 160 steps / 5 epochs. Runtime 2.40h.
Note: a small fraction of samples (~5%) exceed the 20,000-token cutoff and are truncated.
Loss is not comparable across arms: arms containing imperfect trajectories are fitting partly-failing rollouts, so a lower loss does not imply a better agent. These checkpoints must be compared by task success rate, not by training loss.
Framework versions
- Transformers 5.8.0
- PyTorch 2.11.0+cu130
- DeepSpeed 0.18.9
- Datasets 4.0.0
Usage
from transformers import AutoModelForCausalLM, AutoTokenizer
model_id = "March07/Qwen2.5-Coder-32B-terminal-agent-sft-allpass2040"
tok = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id, dtype="bfloat16", device_map="auto")
messages = [
{"role": "system", "content": "You are an expert technical assistant with access to bash tools."},
{"role": "user", "content": "List the files in /workspace."},
]
inputs = tok.apply_chat_template(messages, add_generation_prompt=True, return_tensors="pt").to(model.device)
out = model.generate(inputs, max_new_tokens=512)
print(tok.decode(out[0][inputs.shape[-1]:], skip_special_tokens=True))
- Downloads last month
- 6
Model tree for March07/Qwen2.5-Coder-32B-terminal-agent-sft-allpass2040
Base model
Qwen/Qwen2.5-32B