---
language:
- en
license: apache-2.0
base_model: Qwen/Qwen2.5-Coder-1.5B-Instruct
base_model_relation: finetune
tags:
- supermongo
- astronomy
- code-generation
- scientific-plotting
pipeline_tag: text-generation
library_name: gguf
---
# SM Coder 1.5B — GGUF
A fine-tuned coding assistant for **SuperMongo (SM)** macro development,
packaged as a quantized GGUF file for use with [Ollama](https://ollama.com)
or [llama.cpp](https://github.com/ggerganov/llama.cpp).
| File | Quant | Size |
|------|-------|------|
| `sm-coder-1.5b-q4_k_m.gguf` | Q4_K_M | ~1 GB |
## Quick Start (Ollama)
```bash
# create the model from the bundled Modelfile
ollama create sm-coder -f Modelfile.finetuned
# chat
ollama run sm-coder "Write an SM macro to overplot error bars"
```
## Base Model
[Qwen/Qwen2.5-Coder-1.5B-Instruct](https://huggingface.co/Qwen/Qwen2.5-Coder-1.5B-Instruct),
fine-tuned on a curated dataset of SM macros and related examples collected
over ~20 years of real scientific usage.
## What Is SuperMongo
SuperMongo is a plotting and data-analysis environment widely used in
astronomy and scientific workflows.
Reference:
## Intended Use
- Writing and refactoring SuperMongo macros.
- Translating plotting requests into SM macro skeletons.
- Helping document and modernize legacy macro collections.
## Limitations
- Not a general-purpose chatbot.
- Not an authoritative source on non-SM domains.
- Always validate generated macros against your SM version and local macro
library before use.
## Example Prompts
- *"Write an SM macro that draws concentric circles given a center, starting
radius, step, and count."*
- *"Write an SM macro that reads two columns from a file and plots them with
auto-scaled limits."*
- *"Refactor this SM macro into smaller reusable helpers."*
## Example Output
The model produces macros in standard SM syntax (positional `$1 $2 …`
parameters, `set` for vectors, `define` for scalars):
```
draw_circle 4 ## draw a circle centred at ($1,$2) radius $3 with $4 points
set _th = 2*PI*indgen($4)/$4
set _cx = $1 + $3*COS(_th)
set _cy = $2 + $3*SIN(_th)
connect _cx _cy
```
```
quickplot 1 ## read two-column file $1, auto-scale, and plot
data $1
read {x 1 y 2}
limits x y
erase
box
connect x y
xlabel Column 1
ylabel Column 2
```
```
oploterr 4 ## overplot error bars on current axes for x=$1 y=$2 ey=$3
set _ylo = $2 - $3
set _yhi = $2 + $3
error_y $1 $2 _ylo _yhi
```
## Other Formats
- **MLC (WebLLM / browser):**