Text Generation
MLX
Safetensors
English
small-language-model
from-scratch
conversational
apple-silicon
research
Instructions to use OpenSML/Solstice-1 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- MLX
How to use OpenSML/Solstice-1 with MLX:
# Make sure mlx-lm is installed # pip install --upgrade mlx-lm # Generate text with mlx-lm from mlx_lm import load, generate model, tokenizer = load("OpenSML/Solstice-1") prompt = "Write a story about Einstein" messages = [{"role": "user", "content": prompt}] prompt = tokenizer.apply_chat_template( messages, add_generation_prompt=True ) text = generate(model, tokenizer, prompt=prompt, verbose=True) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- LM Studio
- MLX LM
How to use OpenSML/Solstice-1 with MLX LM:
Generate or start a chat session
# Install MLX LM uv tool install mlx-lm # Interactive chat REPL mlx_lm.chat --model "OpenSML/Solstice-1"
Run an OpenAI-compatible server
# Install MLX LM uv tool install mlx-lm # Start the server mlx_lm.server --model "OpenSML/Solstice-1" # Calling the OpenAI-compatible server with curl curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "OpenSML/Solstice-1", "messages": [ {"role": "user", "content": "Hello"} ] }' - Atomic Chat
|
Download RUN_GUIDE.md from OpenSML/Solstice-1: direct link, hf CLI and curl.
- Browser
- Download file 3.15 kB
-
https://huggingface.co/OpenSML/Solstice-1/resolve/main/RUN_GUIDE.md
- Command line
-
hf download hf://OpenSML/Solstice-1/RUN_GUIDE.md
-
curl -L -o RUN_GUIDE.md https://huggingface.co/OpenSML/Solstice-1/resolve/main/RUN_GUIDE.md
3.15 kB
| # Run Solstice-1 | |
| Use Python 3.11 on Apple Silicon macOS with the pinned requirements. The tested public MLX wheel is 0.32.3; it requires a compatible macOS version. See PACKAGING_VERIFICATION.json for the actual tested system. Inference is offline after downloading the package and installing dependencies. | |
| The model package is public. No Hugging Face sign-in is required to download it. | |
| ```bash | |
| python3.11 -m venv .venv | |
| source .venv/bin/activate | |
| python -m pip install huggingface_hub | |
| hf download OpenSML/Solstice-1 --local-dir Solstice-1 | |
| cd Solstice-1 | |
| python -m pip install -r requirements.txt | |
| python scripts/verify_package.py | |
| python inference.py --prompt "Name the largest continent." --max-new-tokens 64 | |
| python inference.py --interactive | |
| ``` | |
| For the GitHub source checkout, download the matching `model.safetensors` from the Hugging Face repository into its root. That large weight file is deliberately excluded from Git history. | |
| ## Previous messages | |
| Interactive mode retains complete previous turns. `/reset` starts a new conversation and `/quit` exits. The program never silently truncates your history. When history plus output budget would exceed 2,048 tokens, reset it or shorten the request. | |
| For scripted conversations, create a JSON file containing message objects: | |
| ```json | |
| [ | |
| {"role":"user","content":"My name is Rowan."}, | |
| {"role":"assistant","content":"Hello, Rowan."}, | |
| {"role":"user","content":"What is my name?"} | |
| ] | |
| ``` | |
| ```bash | |
| python inference.py --messages-file conversation.json --max-new-tokens 64 --json | |
| ``` | |
| That file describes the input conversation; it does not ask the model to produce JSON. An optional system message is accepted only as the first message. No system message is inserted by default. | |
| ## Generation settings and outputs | |
| Greedy temperature zero is the default and matches benchmark decoding. `--temperature 0.6 --seed 2026` enables sampling; sampled outputs are not the reported benchmark protocol. The supplied runner uses no repetition penalty, output repair, external model, retrieval, or constrained decoder. `--json` wraps the unmodified generated answer with token IDs, lengths, timing and stop reason for inspection. | |
| Stop reasons are `turn_end`, `document_end`, `token_limit`, or `unexpected_structure`. A natural stop says the model completed a turn; it does not establish answer correctness. Generation defaults to 128 new tokens and can be changed within the context budget. In the native playground, additional controls and history trimming may differ from this standalone CLI; use the CLI's recorded protocol for reproducibility. | |
| ## Verification and troubleshooting | |
| Run `python scripts/verify_package.py` to check the recorded file hashes. The runner independently verifies its weight checksum and tokenizer manifest. A missing or mismatched weight file is rejected. Unknown role sequences and context overflow are rejected before generation. | |
| Use the supplied `inference.py`; Transformers AutoModel, MLX-LM automatic loading and GGUF conversion are not supported by this release. Do not repair a hash mismatch by editing the expected hash. Redownload the intended package instead. | |