--- language: - en license: apache-2.0 base_model: Qwen/Qwen2.5-Coder-1.5B-Instruct base_model_relation: quantized tags: - supermongo - astronomy - code-generation - scientific-plotting - webllm pipeline_tag: text-generation library_name: mlc-llm --- # SM Coder 1.5B — MLC (WebLLM) A fine-tuned coding assistant for **SuperMongo (SM)** macro development, quantized to **q4f16_1** for browser inference via [WebLLM](https://github.com/mlc-ai/web-llm). Use it for free [here](https://huggingface.co/spaces/xpol555/supermongo-ai-webllm)! ## Usage with WebLLM This repo contains only the quantized **weights** and `mlc-chat-config.json`. Because the model uses the standard **Qwen2** architecture with **q4f16_1** quantization, the pre-built wasm library shipped by `@mlc-ai/web-llm` works out of the box — no custom compile step is needed. ```ts import { CreateMLCEngine, prebuiltAppConfig } from "@mlc-ai/web-llm"; const engine = await CreateMLCEngine("xpol555/sm-coder-mlc", { appConfig: { ...prebuiltAppConfig, model_list: [ ...prebuiltAppConfig.model_list, { model: "https://huggingface.co/xpol555/sm-coder-mlc/resolve/main/weights/", model_id: "xpol555/sm-coder-mlc", model_lib: prebuiltAppConfig.model_list.find( (m) => m.model_id === "Qwen2.5-1.5B-Instruct-q4f16_1-MLC" )!.model_lib, }, ], }, }); const reply = await engine.chat.completions.create({ messages: [{ role: "user", content: "Write an SM macro to draw error bars" }], }); console.log(reply.choices[0].message.content); ``` ## 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 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 ``` ## Other Formats - **GGUF (Ollama / llama.cpp):**