---
title: Parable-Granite-4.1-3B-Claude-Fable-5-GGUF
canonical_url: "https://www.modelscope.cn/models/AnkitAI/Parable-Granite-4.1-3B-Claude-Fable-5-GGUF"
md_url: "https://www.modelscope.cn/models/AnkitAI/Parable-Granite-4.1-3B-Claude-Fable-5-GGUF.md"
repository: AnkitAI/Parable-Granite-4.1-3B-Claude-Fable-5-GGUF
last_updated: 2026-07-16
license: apache-2.0
pipeline_tag: text-generation
tasks:
  - text-generation
base_model:
  - ibm-granite/granite-4.1-3b
base_model_relation: finetune
library_name:
  - gguf
language:
  - en
downloads: 102
stars: 2
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
---

# Parable-Granite-4.1-3B-Claude-Fable-5-GGUF

> Parable-Granite-4.1-3B-Claude-Fable-5-GGUF - AnkitAI 在 ModelScope 开源的模型。🪶 Parable-Granite-3B v2 — trained on genuine Claude Fable 5 agent traces

AnkitAI/Parable-Granite-4.1-3B-Claude-Fable-5-GGUF 是 ModelScope 魔搭社区上的text-generation模型，采用 apache-2.0 许可，基于 ibm-granite/granite-4.1-3b 构建。

- **Repository**: AnkitAI/Parable-Granite-4.1-3B-Claude-Fable-5-GGUF
- **License**: apache-2.0
- **Tasks**: text-generation
- **Base model**: ibm-granite/granite-4.1-3b
- **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
- **Downloads**: 102
- **Stars**: 2
- **Last updated**: 2026-07-16

Source: https://www.modelscope.cn/models/AnkitAI/Parable-Granite-4.1-3B-Claude-Fable-5-GGUF

---

<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](https://huggingface.co/datasets/AnkitAI/parable-corpus-v2)) 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](https://huggingface.co/AnkitAI) for the drop.

**📦 Full family.** This 3B is the smallest Parable. Need more headroom? [8B Granite](https://huggingface.co/AnkitAI/Parable-Granite-4.1-8B-Claude-Fable-5-GGUF), [8B Qwen](https://huggingface.co/AnkitAI/Parable-Qwen3-8B-Claude-Fable-5-GGUF), [4B Qwen](https://huggingface.co/AnkitAI/Parable-Qwen3-4B-Claude-Fable-5-GGUF) — same recipe, no matter your hardware.

---

## 📦 Pick your size

| File | Size | Fits in | Notes |
|---|---|---|---|
| [Q4_K_M](./Parable-Granite-4.1-3B-Claude-Fable-5-GGUF-Q4_K_M.gguf) | 2.1 GB | ~3 GB RAM/VRAM | ⭐ **Recommended** — best size/quality balance |
| [Q5_K_M](./Parable-Granite-4.1-3B-Claude-Fable-5-GGUF-Q5_K_M.gguf) | 2.4 GB | ~3.5 GB | Higher quality |
| [Q6_K](./Parable-Granite-4.1-3B-Claude-Fable-5-GGUF-Q6_K.gguf) | 2.8 GB | ~4 GB | Near-lossless |
| [Q8_0](./Parable-Granite-4.1-3B-Claude-Fable-5-GGUF-Q8_0.gguf) | 3.6 GB | ~5 GB | Maximum quality |
| [F16](./Parable-Granite-4.1-3B-Claude-Fable-5-GGUF-F16.gguf) | 6.8 GB | ~8 GB | Full precision, for re-quantizing |

Full-precision safetensors (vLLM, transformers, further fine-tuning): [Parable-Granite-4.1-3B-Claude-Fable-5](https://huggingface.co/AnkitAI/Parable-Granite-4.1-3B-Claude-Fable-5)

## 🚀 How to run it

**Ollama** (chat template ships inside the GGUF — zero config):
```bash
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:**
```bash
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):**
```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.

## 📚 What's new in v2 (training)

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

- **Completion-only loss masking** ([Hermes 3](https://arxiv.org/abs/2408.11857), [Tülu 3](https://arxiv.org/abs/2411.15124)) — 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.](https://arxiv.org/abs/2308.08747), [Biderman et al.](https://arxiv.org/abs/2405.09673)) — 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.](https://arxiv.org/abs/2310.05492)) instead of fixed epochs
- **Seed-averaged weights** ([model soups, Wortsman et al.](https://arxiv.org/abs/2203.05482)) — 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](https://huggingface.co/datasets/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](https://huggingface.co/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](https://ollama.com/parable) |
| Hugging Face | [full collection](https://huggingface.co/collections/AnkitAI/parable-6a4fac60f4b35afca3019621) |
| LM Studio | search "parable" in-app |
| ModelScope | [Parable on ModelScope](https://modelscope.cn/models/AnkitAI/Parable-Granite-4.1-3B-Claude-Fable-5-GGUF) |

## 🙏 Acknowledgements

[Glint-Research](https://huggingface.co/Glint-Research) & [Roman1111111](https://huggingface.co/Roman1111111) for the open trace data · [IBM Granite](https://huggingface.co/ibm-granite) for the base · [empero-ai](https://huggingface.co/empero-ai) whose Qwable recipe inspired the series · [llama.cpp](https://github.com/ggml-org/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.

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