Command add-ons for Qwen2.5 0.5B

Three small LoRA adapters that turn a plain-language request into a command line, one tool each. They run in the browser with wllama or natively with llama.cpp, on top of one shared base model, and are published as signed releases in modelXare by weXare.

File Tool Example request Answer
git.gguf git undo my last commit but keep the changes git reset HEAD~1
ffmpeg.gguf ffmpeg extract the audio from talk.mp4 as an mp3 ffmpeg -i talk.mp4 -vn talk.mp3
imagemagick.gguf ImageMagick make a 200px thumbnail of photo.jpg magick photo.jpg -thumbnail 200x output.jpg

Each file is 5.9 MB (f16, rank 8, 16 layers).

Base model

They apply only to qwen2.5-0.5b-instruct-q4_k_m.gguf (491 MB, SHA-256 74a4da8c9fdbcd15bd1f6d01d621410d31c6fc00986f5eb687824e7b93d7a9db). One copy of the base serves all three, and switching between them needs no reload.

Prompt

Each adapter was trained with one fixed system prompt and the request as the user message, using the base model's own chat template. Use the same system prompt; the modelXare releases carry it in their command-generation operation. ffmpeg and ImageMagick answer UNSUPPORTED / unsupported_request when the tool can't do what was asked.

llama-cli -m qwen2.5-0.5b-instruct-q4_k_m.gguf --lora git.gguf -cnv \
  -sys "You are a Git command translator. Read the user's natural-language request and reply with ONLY the exact git CLI command(s) that fulfill it. Use a single line when one command is enough; use newlines for a short sequence. Do not wrap commands in markdown, quotes, or explanation."

Training

LoRA (QLoRA on mlx-community/Qwen2.5-0.5B-Instruct-4bit) with mlx-lm: rank 8, 16 layers, learning rate 1e-4, batch 4, completion-only loss, early stopping on validation loss. Converted to PEFT layout and then to GGUF with llama.cpp's convert_lora_to_gguf.py.

Adapter Training rows Best checkpoint (val loss)
git 4,592 0.047
ffmpeg 2,504 0.169 (iter 300)
ImageMagick 2,505 0.100

The git data comes from templates with slot pools and typing noise. The ffmpeg and ImageMagick data was generated by a larger language model from a task description, then checked by script.

Evaluation

211 held-out requests per tool, greedy decoding, through native llama.cpp (node-llama-cpp) with the q4_K_M base. Many test rows give an output file name the request never mentioned, so the second column also accepts a different output file name when the request names none.

Adapter Exact match Exact match, any unnamed output name Base model alone (exact)
git 83% 86% 30% (first 60 rows)
ImageMagick 65% 80% 2% (first 60 rows)
ffmpeg 35% 68% 0% (first 60 rows)

Limits

  • Commands are suggestions: read them before running them. They can be wrong, and some (git reset --hard, git push --force, overwriting output files) destroy data.
  • English requests only. One tool per adapter; requests that need several tools are out of scope.
  • Unusual flags, filters and long multi-step requests are the weakest cases, ffmpeg most of all. Known misses: "discard my changes to README.md" gave git checkout -- . README.md (which discards every file's changes), and trimming or GIF requests often get the wrong ffmpeg flags.
  • ImageMagick answers sometimes write over the input file (magick photo.jpg -rotate 90 photo.jpg).

License

Apache-2.0, like the base model. Qwen2.5-0.5B-Instruct is by the Qwen Team, Alibaba Cloud.

Downloads last month
102
GGUF
Model size
2.93M params
Architecture
qwen2
Hardware compatibility
Log In to add your hardware

We're not able to determine the quantization variants.

Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for wexare/command-loras

Adapter
(1,051)
this model