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