File size: 2,873 Bytes
b9065d5 8e2d6c4 b9065d5 793df28 b9065d5 0e911e9 b9065d5 793df28 b9065d5 793df28 b9065d5 793df28 b9065d5 793df28 b9065d5 793df28 b9065d5 793df28 b9065d5 793df28 b9065d5 793df28 8daa80b 793df28 b9065d5 793df28 b9065d5 793df28 b9065d5 793df28 8daa80b 793df28 b9065d5 793df28 b9065d5 793df28 8daa80b 793df28 b9065d5 793df28 b9065d5 793df28 b9065d5 793df28 |
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 68 69 70 71 72 73 74 75 76 77 |
---
library_name: transformers
tags:
- agent
- code
license: mit
datasets:
- ricdomolm/mini-coder-trajs-400k
base_model:
- Qwen/Qwen3-4B-Instruct-2507
---
# mini-coder-4b
`mini-coder-4b` is a 4B parameter model distilled from Qwen 3 Coder 30B A3B. It punches well above its weight, outperforming gpt-oss-120b on [SWE-bench Verified Bash only](https://www.swebench.com/):
<div align="center">
| Model | pass@1 | pass@100 |
|-------------------------|--------|----------|
| Qwen 3 Coder 30B-A3B | 33.2 | 67.4 |
| mini-swe-4b | 26.8 | 60.2 |
| gpt-oss-120b | 26.0 | – |
| mini-swe-1.7b | 18.6 | 50.4 |
| SWE-agent-LM 7B | 15.2 | – |
| Qwen 3 4B Instruct 2507 | 4.0 | 25.1 |
</div>
It is trained on 400k training trajectories using the lightweight [mini-swe-agent](https://mini-swe-agent.com/latest/) scaffolding and the [SWE-smith](https://huggingface.co/datasets/SWE-bench/SWE-smith) dataset of GitHub issues.
Unlike existing agentic SWE models, the `mini-coder` models can be post-trained on a single 80GB GPU—or smaller. They work seamlessly with mini-swe-agent, a lightweight, scalable, and developer-friendly agentic framework well-suited for RL fine-tuning. And because they are dense rather than MoE models, they benefit from a more mature fine-tuning ecosystem.
## Example usage: Generating SWE-bench trajectories with mini-swe-agent and vLLM
This example shows how to generate SWE-bench trajectories using [mini-swe-agent](https://mini-swe-agent.com/latest/) as the agentic scaffolding (recommended) and [vLLM](https://docs.vllm.ai/en/latest/) as the local inference engine.
First, launch a vLLM server with your chosen model. For example:
```bash
vllm serve ricdomolm/mini-coder-4b &
```
By default, the server will be available at `http://localhost:8000`.
Second, edit the mini-swe-agent SWE-bench config file located in `src/minisweagent/config/extra/swebench.yaml` to include your local vLLM model:
```yaml
model:
model_name: "hosted_vllm/ricdomolm/mini-coder-4b" # or hosted_vllm/path/to/local/model
model_kwargs:
api_base: "http://localhost:8000/v1" # adjust if using a non-default port/address
```
Create a litellm `registry.json` file:
```bash
cat > registry.json <<'EOF'
{
"ricdomolm/mini-coder-4b": {
"max_tokens": 64000,
"input_cost_per_token": 0.0,
"output_cost_per_token": 0.0,
"litellm_provider": "hosted_vllm",
"mode": "chat"
}
}
EOF
```
Now you’re ready to generate trajectories! Let's solve the `django__django-11099` instance of SWE-bench Verified:
```bash
LITELLM_MODEL_REGISTRY_PATH=registry.json mini-extra swebench --output test/ --subset verified --split test --filter '^(django__django-11099)$'
```
You should now see the generated trajectory in the `test/` directory. |