Instructions to use neonforestmist/smolgpt-fables with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use neonforestmist/smolgpt-fables with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="neonforestmist/smolgpt-fables") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("neonforestmist/smolgpt-fables") model = AutoModelForCausalLM.from_pretrained("neonforestmist/smolgpt-fables", device_map="auto") messages = [ {"role": "user", "content": "Who are you?"}, ] inputs = tokenizer.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=40) print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use neonforestmist/smolgpt-fables with llama.cpp:
Install (macOS, Linux)
curl -LsSf https://llama.app/install.sh | sh # Start a local OpenAI-compatible server with a web UI: llama serve -hf neonforestmist/smolgpt-fables:Q4_K_M # Run inference directly in the terminal: llama cli -hf neonforestmist/smolgpt-fables:Q4_K_M
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf neonforestmist/smolgpt-fables:Q4_K_M # Run inference directly in the terminal: llama cli -hf neonforestmist/smolgpt-fables:Q4_K_M
Use pre-built binary
# Download pre-built binary from: # https://github.com/ggerganov/llama.cpp/releases # Start a local OpenAI-compatible server with a web UI: ./llama-server -hf neonforestmist/smolgpt-fables:Q4_K_M # Run inference directly in the terminal: ./llama-cli -hf neonforestmist/smolgpt-fables:Q4_K_M
Build from source code
git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-server llama-cli # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama-server -hf neonforestmist/smolgpt-fables:Q4_K_M # Run inference directly in the terminal: ./build/bin/llama-cli -hf neonforestmist/smolgpt-fables:Q4_K_M
Use Docker
docker model run hf.co/neonforestmist/smolgpt-fables:Q4_K_M
- LM Studio
- Jan
- vLLM
How to use neonforestmist/smolgpt-fables with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "neonforestmist/smolgpt-fables" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "neonforestmist/smolgpt-fables", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/neonforestmist/smolgpt-fables:Q4_K_M
- SGLang
How to use neonforestmist/smolgpt-fables with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "neonforestmist/smolgpt-fables" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "neonforestmist/smolgpt-fables", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "neonforestmist/smolgpt-fables" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "neonforestmist/smolgpt-fables", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Ollama
How to use neonforestmist/smolgpt-fables with Ollama:
ollama run hf.co/neonforestmist/smolgpt-fables:Q4_K_M
- Unsloth Desktop
- Docker Model Runner
How to use neonforestmist/smolgpt-fables with Docker Model Runner:
docker model run hf.co/neonforestmist/smolgpt-fables:Q4_K_M
- Lemonade
How to use neonforestmist/smolgpt-fables with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull neonforestmist/smolgpt-fables:Q4_K_M
Run and chat with the model
lemonade run user.smolgpt-fables-Q4_K_M
List all available models
lemonade list
- Atomic Chat
SmolGPT-Fables v1
SmolGPT-Fables turns a simple idea into a short story with one to six scenes. Tell it who the characters are, where the story happens, and how you want it to end. It handles the story structure for you.
What it does
- Writes short English stories and fables with 1–6 numbered scenes.
- Accepts separate Name and About them fields for each main character.
- Tries to preserve requested names, setting details, important objects, and endings.
- Runs with Transformers or llama.cpp-compatible apps. A separate Core ML companion is available for native Apple apps.
See it in action
Open SmolGPT-Fables Studio, choose the model and number of scenes, then describe each character in their own card. The Studio returns a clean story preview and a Markdown download.
Try a story
The easiest way to use the model is SmolGPT-Fables Studio. You do not need to write Markdown or learn a prompt format.
Story idea: Two rival mapmakers must share one observatory during the season when stars change their names.
Genre: Romance
Scenes: 3
Name: Mara
About them: A careful mapmaker who wants credit for her work.
Name: Ilyan
About them: A wandering artist looking for a home.
Setting: A cliffside observatory above a winter port.
Important moments: The star charts begin changing; Mara and Ilyan discover a shared error; they publish the corrected map together.
Details: Include a brass compass and snow on the observatory glass. Avoid a tragic ending.
Ending: Hopeful, with their work and trust made public.
Examples from the hosted Studio
These three representative cards show complete, captured outputs from SmolGPT-Fables v1 generations in the Studio's Examples tab. They are stacked for easy reading: two three-scene stories and one six-scene story. The hosted Studio contains six complete examples in total.
The Names of Stars · Romance · 3 scenes · Mara Vale, Ilyan Rook
### Scene 01:
The cliffside observatory above the winter port held a brass compass, its needle trembling in the cold air. Mara Vale, a rival mapmaker, stood beside the window, her eyes fixed on the stars streaming across the sky. Ilyan Rook, her counterpart, stood at the edge of the room, his gaze fixed on the map spread out before him. The air was thick with tension, as the two mapmakers knew that the season when stars changed their names would soon arrive, and with it, the chance to claim the greatest prize in the world of cartography.
### Scene 02:
As the night wore on, Mara and Ilyan found themselves drawn to the same corner of the room, where a single, unmarked map lay spread out before them. The map was old, its ink faded to a deep brown, but it was clear that it had been drawn by a master hand. Mara and Ilyan both knew that the map was the key to unlocking the greatest prize in the world of cartography, and they both knew that they had to have it.
### Scene 03:
As the night wore on, Mara and Ilyan found themselves engaged in a heated debate over the map. Mara argued that the map was too old to be of any use, while Ilyan argued that the map was too valuable to be shared. The debate raged on, with neither side willing to back down. But just as it seemed that the debate would never end, a sudden movement caught everyone's eye.
The Last Crossing · Folklore · 3 scenes · Orra and the fox
# The Last Crossing
### Scene 01:
The braided river where crossings are paid for with useful stories swirled in mist as Orra stepped aboard her ferry. Frost creaked beneath the lantern, and she counted the last passenger before river freeze - a fox carrying a village's missing shadow. Its fur shimmered like moonlight, and its eyes gleamed with ancient wisdom.
### Scene 02:
Orra learned the shadow belonged to the village. It had been lost in the chaos of harvest, when laughter and tears mingled in the wind. The fox sat beside her, its paws brushing the edge of the bell that hummed softly, echoing the village's heartbeat. She realized the crossing was not just a journey but a gift.
### Scene 03:
As the river froze, Orra set the fox ashore, the shadow unfolding from its mouth like a wing. The fox vanished into the ice, leaving behind the bell and the memory of the village's joy. Orra watched as the river reshaped itself around them, and the story returned home.
The Teapot at Number Nine · Cozy fantasy · 6 scenes · Mina Bell, Pip
### Scene 01:
The tiny row house where the teapot remembered every neighbor's favorite song held its breath as Mina Bell entered. She had returned the borrowed teapot, but the house's annual porch supper was already in full swing. The teapot, its china glinting in the soft light, seemed to be watching Mina with a quiet curiosity.
### Scene 02:
As Mina approached the porch, the teapot began to sing. Its voice was low and melodious, filling the air with the scent of old china and fresh tea. The neighbors, who had been chatting and laughing, paused in their conversation, their faces filled with wonder.
### Scene 03:
Mina stood frozen, her eyes fixed on the teapot as it sang. She had never seen anything like it before. The teapot, sensing her wonder, continued to sing, its voice growing louder and more vibrant with each passing moment.
### Scene 04:
As the teapot sang, the porch supper began to take shape. The neighbors, who had been watching Mina with curiosity, began to gather around the teapot, their faces filled with wonder. The teapot, sensing their excitement, continued to sing, its voice growing louder and more vibrant with each passing moment.
### Scene 05:
As the teapot sang, the neighbors began to share stories and laughter. The teapot, sensing their joy, continued to sing, its voice growing louder and more vibrant with each passing moment. Mina, who had been watching the scene unfold, felt a sense of wonder and connection that she had never felt before.
### Scene 06:
As the teapot sang, the neighbors began to disperse, each carrying a small piece of the teapot's magic. Mina, who had been watching the scene unfold, felt a sense of wonder and connection that she had never felt before. She knew that she would carry the teapot's magic with her always, and that she would never forget the sense of wonder and connection that it had brought into her life.
These are observed generations from the published v1 revision, not promises that every prompt will use the same words.
Use it with Transformers
from transformers import AutoModelForCausalLM, AutoTokenizer
model_id = "neonforestmist/smolgpt-fables"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
model_id,
device_map="auto",
torch_dtype="auto",
)
messages = [
{
"role": "user",
"content": (
"Write a two-scene cozy fable about Mina Vale, a careful mapmaker, "
"and Orin Reed, a retired courier. Set it in a canal city at "
"midnight and end with Mina restoring a vanished neighborhood."
),
}
]
prompt = tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True,
)
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
outputs = model.generate(**inputs, do_sample=False, max_new_tokens=700)
new_tokens = outputs[0, inputs["input_ids"].shape[1]:]
print(tokenizer.decode(new_tokens, skip_special_tokens=True))
SmolGPT-Fables model
These are the files for the standard language model. Pick the format that fits your runtime:
| Format | File | Size | Best for |
|---|---|---|---|
| Standard | model.safetensors |
3.42 GB | Transformers and full model precision |
| Compact | SmolGPT-Fables-v1-Q4_K_M.gguf |
1.06 GB | Runtimes that support Q4_K_M GGUF models |
The standard and GGUF files are the model variants in this repository. The evaluation results below apply to the standard Transformers model; the GGUF variant has not been evaluated separately.
Core ML companion
The Core ML version now lives in its own repository so it is easy to distinguish from the standard SmolGPT-Fables model. It is intended for native Apple apps and is not required for Transformers or GGUF use.
| Format | Companion repository | Size | Best for |
|---|---|---|---|
| Core ML INT4 | neonforestmist/smolgpt-fables-coreml |
0.96 GB | Native Apple apps on iOS 18 or macOS 15 and later |
The companion card reports the Core ML conversion and numerical smoke-test results separately, including cosine similarity and top-token agreement.
Variant snapshot
| Variant | Size | Format | Published evidence |
|---|---|---|---|
| SmolGPT-Fables v1 | 3.42 GB | BF16 safetensors |
1.71B parameters; story evaluation below |
| SmolGPT-Fables v1 Compact | 1.06 GB | Q4_K_M GGUF |
218 tensors; quantization manifest published |
| SmolGPT-Fables v1 Apple | 0.96 GB | Core ML INT4 | 0.9529 FP16/INT4 cosine similarity; matching top token; 4/5 top-5 overlap |
The Apple variant is distributed from the separate Core ML companion repository.
Story behavior evaluation
This is a focused 60-prompt development evaluation for the Studio behavior—not a claim of broad language-model benchmark performance. The full manifests and SHA-256 evidence are published with the model files.
How well it works
The Studio-focused check is strong on the behavior this interface needs:
| Check | Result |
|---|---|
| Stories containing every requested full name | 60 / 60 (100%) |
| First name combined with the wrong surname | 0 / 60 |
| Studio behavior gates | All passed |
| Strict writing suite | 32 / 60 (53.3%) |
| Minimum distinct-trigram rate | 0.8394 (target 0.8500) |
The strict suite's most common misses were incomplete causal resolution and scene length. These measurements are useful signals, not guarantees for every story.
Story-focused comparison
This is the comparison that matters for the Fables Studio. All three models received the same ten story briefs: a mix of three- and six-scene requests, different genres, named characters, settings, and required story details. Decoding was deterministic. Bold marks the best direction in each row.
| Story check (10 shared briefs) | SmolGPT-Fables v1 | SmolLM2 1.7B Instruct | Qwen2.5 1.5B Instruct |
|---|---|---|---|
| Requested names retained | 6 / 10 (60%) | 8 / 10 (80%) | 9 / 10 (90%) |
| Story detail anchors retained | 12 / 20 (60%) | 14 / 20 (70%) | 14 / 20 (70%) |
| Exact requested scene count | 9 / 10 (90%) | 5 / 10 (50%) | 0 / 10 (0%) |
| Story contract pass (names + scene count) | 5 / 10 (50%) | 4 / 10 (40%) | 0 / 10 (0%) |
The complete prompt suite, pinned revisions, raw SmolGPT-Fables example
captures, and per-prompt results are in the
benchmarks/smolgpt_fables_story_comparison_v1.json
report. This is a focused product measurement, not a broad language-model
leaderboard.
Known limits
- Names and requested scene counts are learned behavior, not hard guarantees.
- Longer stories can lose continuity or end weakly.
- The model can repeat phrases or flatten cultural nuance.
- It is English-focused and intended for short stories rather than factual advice.
- Review and edit generated writing before sharing it.
Training data
SmolGPT-Fables v1 was adapted from
HuggingFaceTB/SmolLM2-1.7B-Instruct
using the published
neonforestmist/smolgpt-markdown-stories
dataset. The synthetic and curated stories cover varied genres, settings,
character descriptions, required details, and endings.
Technical checks and exact artifact hashes
The published BF16 artifact contains 1,711,376,384 parameters across 218 tensors.
It uses micro update 8 over adapter update 68 and the
smolgpt-fables-smollm3-chat-v5 prompt contract.
| Artifact | SHA-256 |
|---|---|
model.safetensors |
00d2c2b4b01ce0a13fbec5ba79f4fb843a751af2780e939ab431a092f1789207 |
training_manifest.json |
22b90db42797c891bb69ac526ff237ef973be05827722ae83d2e3fdb794702ea |
SmolGPT-Fables-v1-Q4_K_M.gguf |
6d4d38e9075bcae3cfe59ed37c0acc3425ad31296de7530611e63628424a7c35 |
| GGUF quantization manifest | 87da452fd6df5658b8e9f07844a84993f656ae1b3f580e560eba018a37cc5a2f |
| GGUF checksums file | 9ca968f9719327c941d2e1766cca7d0520a3732eefb9a92efc47cfb240bba761 |
| Core ML package tree | ea250d4ed2a05d5dc0ad9a6f4b4fbbddf39fd3184963b784cea8f46e4f0d3ab3 |
| Core ML INT4 weights | 2d9e564d652618ee3ea7309b01998bdcfe775c0cc35adeb6fe9fb5d8c22a5fa3 |
The GGUF file contains 218 tensors and is 1,055,609,376 bytes. It was converted
with llama.cpp commit aff6eb6e7503538fec1532dec2f584bc7a4a4e4d.
Strict-suite diagnostic occurrences:
| Diagnostic | Count |
|---|---|
| Incomplete causal resolution | 17 |
| Scene length | 16 |
| Character-role retention | 1 |
| Required detail | 2 |
| Scene heading | 2 |
| Unresolved ending | 1 |
Character-name audit report SHA-256:
38a1ba15d6ae8545ae71a9953077d0626aba5c85ccf7f3844514bba04188f3a6.
Citation
If SmolGPT-Fables v1 is useful in your work, please cite the model release:
@misc{lozada2026smolgptfables,
author = {Lukas Lozada Perez},
title = {SmolGPT-Fables v1},
year = {2026},
howpublished = {Hugging Face model card},
url = {https://huggingface.co/neonforestmist/smolgpt-fables}
}
For work that uses the underlying model or training data, also cite SmolLM2 and the smolgpt-markdown-stories dataset.
License
Apache-2.0. Review the
SmolLM2-1.7B-Instruct model card
alongside this one when assessing intended use and limitations.
- Downloads last month
- 1,363