GraySoft
Projects Models Compare Cloud benchmarks FAQ Download guIDE โ†’
Model Intelligence Sheet

AnkitAI/Parable-Granite-4.1-3B-Claude-Fable-5-GGUF overview

<picture <source media=" prefers color scheme: dark " srcset="https://raw.githubusercontent.com/ankit aglawe/parable assets/main/parable header dark.png" <img โ€ฆ

ggufqloraagenticagentcodingtool-usefunction-callingterminalreasoningthinkingclaudeclaude-fable-5distillationtrace-trainingllama.cppollamalm-studiogranitetext-generationendataset:AnkitAI/parable-corpus-v2dataset:Glint-Research/Fable-5-tracesdataset:Roman1111111/gpt5.5-terminalarxiv:2408.11857

Runs locally from ~1.96 GB disk (4 GB VRAM class GPUs with llama.cpp / guIDE).

Downloads
1,058
Likes
1
Pipeline
text-generation
Author

Repository Files & Downloads

5 GGUF files detected
Direct downloads for local inference
FileTypeQuantizationSizeLink
Parable-Granite-4.1-3B-Claude-Fable-5-GGUF-F16.ggufGGUFF166.34 GBDownload
Parable-Granite-4.1-3B-Claude-Fable-5-GGUF-Q4_K_M.ggufGGUFQ4_K_M1.96 GBDownload
Parable-Granite-4.1-3B-Claude-Fable-5-GGUF-Q5_K_M.ggufGGUFQ5_K_M2.27 GBDownload
Parable-Granite-4.1-3B-Claude-Fable-5-GGUF-Q6_K.ggufGGUFQ6_K2.60 GBDownload
Parable-Granite-4.1-3B-Claude-Fable-5-GGUF-Q8_0.ggufGGUFQ8_03.37 GBDownload

Model Details

Model IDAnkitAI/Parable-Granite-4.1-3B-Claude-Fable-5-GGUF
AuthorAnkitAI
Pipelinetext-generation
Licenseapache-2.0
Base modelibm-granite/granite-4.1-3b
Last modified2026-07-23T08:53:02.000Z

Model README

---

base_model: ibm-granite/granite-4.1-3b

base_model_relation: finetune

datasets:

  • AnkitAI/parable-corpus-v2
  • Glint-Research/Fable-5-traces
  • Roman1111111/gpt5.5-terminal

license: apache-2.0

language:

  • en

pipeline_tag: text-generation

library_name: gguf

tags:

  • gguf
  • qlora
  • agentic
  • agent
  • coding
  • tool-use
  • function-calling
  • terminal
  • reasoning
  • thinking
  • claude
  • claude-fable-5
  • distillation
  • trace-training
  • llama.cpp
  • ollama
  • lm-studio
  • granite

---

<picture>

<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/ankit-aglawe/parable-assets/main/parable_header_dark.png">

<img alt="Parable" src="https://raw.githubusercontent.com/ankit-aglawe/parable-assets/main/parable_header.png">

</picture>

๐Ÿชถ Parable-Granite-3B v2 โ€” trained on genuine Claude Fable 5 agent traces

A tiny local model that thinks before it answers โ€” planning, reasoning, and terminal instincts distilled from real agent sessions.

> ~3 GB of RAM is all you need. Laptop, old GPU, Raspberry-Pi-class boxes with swap โ€” the Q4 build runs

> anywhere. One command and you have a private, offline reasoning model on your machine:

>

> ```bash

> ollama run hf.co/AnkitAI/Parable-Granite-4.1-3B-Claude-Fable-5-GGUF:Q4_K_M

> ```

---

The headline โ€” v2 is a different model

v2 is a full retrain: 13ร— more genuine Fable 5 trace data (11,574 sessions, 16.8M tokens โ€” corpus published) and a rebuilt recipe (completion-masked loss, replay mixing, benchmark-gated checkpoints, seed-averaged weights).

| same harness, greedy, Q4_K_M | v1 | v2 (this release) |

|---|---|---|

| Dev pass-rate (MBPP subset, n=50) โ€” base: 0.68 | โ€” | 0.82 |

| Agent-artifact leakage (JSON blobs, phantom turns) | 6/34 | 0/34 |

| Strict 34-prompt coding qual โ€” base: 27/34 | ~18/34 | 25/34 |

| HumanEval / HumanEval+ | 62.8 / 57.9 | 70.1 / 65.9 |

Clean answers, structured reasoning, agent instincts โ€” and the transcript artifacts that leaked into v1's replies are gone. One trade, made on purpose: raw HumanEval-style function synthesis stays the base model's turf (81.7 vs 70.1) โ€” v2 spends that capacity on agent behavior instead, and spends half as much as v1 did. Measurement notes below. ๐Ÿ‘‡

---

Announcements

๐Ÿ“Œ Same links, new model. v2 replaces v1 in place โ€” every existing Ollama command, script, and bookmark now serves v2. No migration, nothing to change.

๐Ÿ”ฎ v3 is already training. Rejection-sampled SFT: thousands of candidate solutions generated against executable tests, only verified passers enter the corpus. The goal is simple โ€” above-base agent capability, not just clean behavior. Follow AnkitAI for the drop.

๐Ÿ“ฆ Full family. This 3B is the smallest Parable. Need more headroom? 8B Granite, 8B Qwen, 4B Qwen โ€” same recipe, no matter your hardware.

---

Pick your size

| File | Size | Fits in | Notes |

|---|---|---|---|

| Q4_K_M | 2.1 GB | ~3 GB RAM/VRAM | โญ Recommended โ€” best size/quality balance |

| Q5_K_M | 2.4 GB | ~3.5 GB | Higher quality |

| Q6_K | 2.8 GB | ~4 GB | Near-lossless |

| Q8_0 | 3.6 GB | ~5 GB | Maximum quality |

| F16 | 6.8 GB | ~8 GB | Full precision, for re-quantizing |

Intelligence per gigabyte: the Q4_K_M build scores 70.1 HumanEval in 2.1 GB โ€” ~33 pts/GB; an 8B-class Q4 needs ~5 GB for its score. If RAM is your constraint, this is the family's density sweet spot.

Full-precision safetensors (vLLM, transformers, further fine-tuning): Parable-Granite-4.1-3B-Claude-Fable-5

How to run it

Ollama (chat template ships inside the GGUF โ€” zero config):

ollama run parable/granite4.1-fable:3b
# or straight from this repo:
ollama run hf.co/AnkitAI/Parable-Granite-4.1-3B-Claude-Fable-5-GGUF:Q4_K_M

llama.cpp:

llama-cli -m Parable-Granite-4.1-3B-Claude-Fable-5-GGUF-Q4_K_M.gguf --jinja \
  -p "Write a bash one-liner to find the 10 largest files in a directory tree."

LM Studio / Jan / Open WebUI: search "parable" in-app, or paste this repo URL.

Python (llama-cpp-python):

from llama_cpp import Llama

llm = Llama.from_pretrained(
    repo_id="AnkitAI/Parable-Granite-4.1-3B-Claude-Fable-5-GGUF",
    filename="*Q4_K_M.gguf", n_ctx=8192,
)
out = llm.create_chat_completion(
    messages=[{"role": "user", "content": "Write a Python function that retries an HTTP request with exponential backoff."}],
    max_tokens=3000, temperature=0.7,
)
print(out["choices"][0]["message"]["content"])

Thinking mode

Every answer opens with a <think>...</think> reasoning block โ€” that's the Fable 5 heritage. llama.cpp's --jinja 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 (2500+) โ€” trace-trained models think at length before answering.

---

Measurement notes

All numbers: identical llama.cpp harness, greedy decoding, Q4_K_M, base model measured on the same instrument. We train multiple seeds and ship the weight-average โ€” single-run scores at 3B swing ยฑ3 points on GPU nondeterminism alone, so most cards report their luckiest run; we ship the average and report the shipped weights' own numbers. Raw eval outputs live in this repo.

Which model should you use? Pure single-function code completion โ†’ the base model is genuinely strong there. Explanations, debugging, terminal workflows, structured reasoning, agent-style tasks โ†’ that's what Parable is trained on, and where v2 shines.

๐Ÿ†š Same prompt, side by side

Real outputs, both models at Q4_K_M, temperature 0.7 โ€” unedited except length.

Prompt: "Make this more idiomatic:" result = []; for x in items: if x.active == True: result.append(x.name.upper())

| Base Granite-4.1-3B | Parable v2 |

|---|---|

| Here's a more idiomatic version of the code using a list comprehension: result = [item.name.upper() for item in items if item.active] โ€” Explanation: List comprehensions provide a concise way to create lists based on existing iterables. The new result list is constructed by iterating over each itemโ€ฆ (continues for ~10 more lines) | result = [item.name.upper() for item in items if item.active] |

Prompt: "My Python script fails with 'RecursionError: maximum recursion depth exceeded' in a JSON parser I wrote. What are the likely causes and the standard fix?"

| Base Granite-4.1-3B | Parable v2 |

|---|---|

| Opens with prose: "The RecursionError: maximum recursion depth exceeded error in a Python script, especially when dealing with a JSON parser, typically indicates that your recursive function is calling itself too many times without reaching a proper base caseโ€ฆ" | Opens with a diagnosis table: Common culprits for this error โ€” a cause / why-it-triggers / example table, then the fix. Structured like an agent working the problem, not an essay. |

The pattern from real agent traces: answer first, structure over prose, no padding. (Where the base is stronger โ€” raw single-function synthesis โ€” is stated plainly in the measurement notes above.)

What's new in v2 (training)

The recipe follows our ongoing tech report (in preparation):

  • Completion-only loss masking (Hermes 3, Tรผlu 3) โ€” loss on assistant tokens only, so the model learns to answer, not to imitate transcripts
  • 30% replay mix of general instruction data (Luo et al., Biderman et al.) โ€” the anti-forgetting lever
  • Session re-segmentation + sanitization โ€” why v1 sometimes leaked agent JSON into normal chat, and v2 never does (0/34)
  • Benchmark-gated checkpoints (Dong et al.) instead of fixed epochs
  • Seed-averaged weights (model soups, Wortsman et al.) โ€” we ship the average of multiple runs, not the lottery winner

With Claude Fable 5 now retired, genuine self-authored Fable traces are a fixed, non-renewable corpus. Unlike most models in this niche, our full training corpus is public: AnkitAI/parable-corpus-v2 โ€” deduplicated, quality-gated, provenance-tagged.

Good to know

  • Fine-tuned at 2,048-token sequences; the base 128K context stays available, fine-tuned behavior is strongest in the opening turns.
  • Not trained for: multi-file repo navigation, vision, non-English.
  • Inherits Granite-4.1-3B's knowledge cutoff. Treat generated commands as drafts to review.

Base & license

Weights: Apache-2.0 (inherited from ibm-granite/granite-4.1-3b). Training data: Fable-5-traces AGPL-3.0, gpt5.5-terminal MIT โ€” since traces originate from third-party assistants, their terms may apply to downstream training; check before commercial distillation.

Get Parable

| Platform | |

|---|---|

| Ollama | ollama run parable/granite4.1-fable:3b ยท parable namespace |

| Hugging Face | full collection |

| LM Studio | search "parable" in-app |

| ModelScope | Parable on ModelScope |

Acknowledgements

Glint-Research & Roman1111111 for the open trace data ยท IBM Granite for the base ยท empero-ai whose Qwable recipe inspired the series ยท llama.cpp

Version history

  • v2 (2026-07-16) โ€” this release. 13ร— corpus, rebuilt recipe, seed-averaged weights, zero leakage.
  • v1 (2026-07) โ€” initial release, 857-row corpus. Preserved as repo revision history.

---

Three gigabytes. Real Fable 5 reasoning. Yours, offline, right now.

ollama run hf.co/AnkitAI/Parable-Granite-4.1-3B-Claude-Fable-5-GGUF:Q4_K_M

More on the Parable models: ankitaglawe.com/parable

Run AnkitAI/Parable-Granite-4.1-3B-Claude-Fable-5-GGUF with guIDE

Download guIDE โ€” the AI-native code editor with local LLM inference and 69 built-in tools.

Download guIDE โ†’ ยท Browse 524k+ models ยท Compare models

Source: Hugging Face ยท Compare models