🪶 Parable-Qwen3-8B — trained on genuine Claude Fable 5 agent traces
The largest Parable: planning, tool use, and <think> reasoning distilled from real Claude Fable 5 and GPT-5.5 agent sessions — not synthetic Q&A.
~6 GB of RAM is all you need. Laptop, mid-range GPU, yesterday's desktop — the Q4 build runs
anywhere with that much headroom. One command and you have a private, offline reasoning model on your machine:
ollama run hf.co/AnkitAI/Parable-Qwen3-8B-Claude-Fable-5-GGUF:Q4_K_M
Announcements
🔮 v2 is coming. The 3B just got the v2 treatment (13× corpus, rebuilt recipe) — the same upgrade lands here next. Same links, in-place.
📦 Full family. This 8B is the largest Parable, alongside Parable-Qwen3-4B — browse the full collection for every size, quant, and eval report.
Ollama (chat template ships inside the GGUF — zero config):
bash
1ollama run parable/qwen3-fable:8b
2# or straight from this repo:3ollama run hf.co/AnkitAI/Parable-Qwen3-8B-Claude-Fable-5-GGUF:Q4_K_M
llama.cpp:
bash
1llama-cli -m Parable-Qwen3-8B-Claude-Fable-5-GGUF-Q4_K_M.gguf --jinja \2 -p "Write a bash one-liner to find the 10 largest files in a directory tree."
LM Studio:lms get parable/qwen3-fable, search "parable" in-app, or paste this repo URL (parable on LM Studio Hub).
Python (llama-cpp-python):
python
1from llama_cpp import Llama
23llm = Llama.from_pretrained(4 repo_id="AnkitAI/Parable-Qwen3-8B-Claude-Fable-5-GGUF",5 filename="*Q4_K_M.gguf", n_ctx=8192,6)7out = llm.create_chat_completion(8 messages=[{"role":"user","content":"Write a Python function that retries an HTTP request with exponential backoff."}],9 max_tokens=3000, temperature=0.7,10)11print(out["choices"][0]["message"]["content"])
Thinking mode
Every answer opens with a <think>...</think> reasoning block — native to Qwen3, reinforced by this fine-tune. llama.cpp's --jinja chat mode separates it automatically; strip it before showing replies to end users.
Sampling: temperature 0.7, top_p 0.95, and budget max_tokens generously (at least 2500) — trace-trained models think at length before answering.
How it measures
Held-out evals across the Parable family
Held-out test split, identical evaluation code and context length for base and fine-tune:
Metric
Base Qwen3-8B
Parable
Δ
Test loss
2.162
0.712
−67%
Qualitative review (34 coding/terminal/debugging prompts, strictly graded by mentally executing every answer): 23/34 fully correct, 30/34 correct or partially correct — the highest fully-correct score in the series. We publish these numbers because strict qualitative grading is rare in this niche; judge accordingly.
For reference, the strongest published fine-tune on this data family (a 9B) reports 0.71 validation loss; this release measures 0.712 under our stricter 1,024-token evaluation. Cross-repo numbers are indicative only: splits, tokenizers, and context lengths differ (ours is measured at 1,024 tokens).
What it's trained on
Glint-Research/Fable-5-traces — 4.4k real Claude Fable 5 coding-agent session traces with <think> reasoning and tool calls (AGPL-3.0)
Every example passed a quality gate (schema validation, secrets scrub, length filtering) before training. QLoRA fine-tune (NF4, sequence length 1024) trained on a single 16 GB GPU, quantized with llama.cpp.
Good to know
Weakest on config-file generation and stateful shell logic (4/34 in our eval: Makefile targets, log-watcher scripts, Dockerfile layer ordering) — review generated configs before use.
Fine-tuned at 1,024-token sequences; the base 128K context stays fully available, so long sessions work, with the fine-tuned behavior strongest in the opening turns.
Inherits Qwen3-8B's base behaviors and knowledge cutoff. As with any local model, treat generated commands and code as drafts to review.
Evaluation
Function calling (BFCL V3, AST subset)
Measured 2026-07-29: bfcl-eval at gorilla main, prompting mode, Q4_K_M
GGUFs served by llama.cpp on a T4, base and Parable under the identical
harness. Categories: simple_python / multiple / parallel /
parallel_multiple (400/200/200/200 items). Raw generations and score
files: parable-v2-artifacts
under verify/bfcl/.
simple_python
multiple
parallel
parallel_multiple
Qwen3-8B base
0.953
0.945
0.935
0.900
Parable-Qwen3-8B
0.930
0.900
0.905
0.850
A 2.3 to 5.0 point trade per category: prose-trace SFT costs a little
function-calling sharpness, as this card's evaluation note predicts. If
you need maximum tool-calling accuracy, use the base; this variant buys
the reasoning voice.
Base & license
Weights: Apache-2.0 (inherited from Qwen/Qwen3-8B). Training data: Fable-5-traces AGPL-3.0, gpt5.5-terminal MIT — since those traces originate from third-party assistants, the providers' terms may apply to downstream training and distillation; if you plan to build on this model commercially, confirm your use aligns with those terms.
The recipe, evaluation methodology and failure analysis behind this model are
documented in the tech report:
Aglawe, A. (2026). Agent-Trace Fine-Tuning of Small Language Models under
Constrained Compute. Zenodo. doi:10.5281/zenodo.21676407
bibtex
1@misc{aglawe2026agenttrace,
2 author = {Aglawe, Ankit},
3 title = {Agent-Trace Fine-Tuning of Small Language Models under Constrained Compute},
4 year = {2026},
5 publisher = {Zenodo},
6 doi = {10.5281/zenodo.21676407},
7 url = {https://doi.org/10.5281/zenodo.21676407}
8}
Acknowledgements
Glint-Research & Roman1111111 for the open trace data · Qwen for the base · empero-ai whose Qwable recipe the Parable series follows · llama.cpp
Six gigabytes. Real Fable 5 reasoning. Yours, offline, right now.
ollama run hf.co/AnkitAI/Parable-Qwen3-8B-Claude-Fable-5-GGUF:Q4_K_M