Instructions to use AnkitAI/Parable-Granite-4.1-8B-Claude-Fable-5 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use AnkitAI/Parable-Granite-4.1-8B-Claude-Fable-5 with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="AnkitAI/Parable-Granite-4.1-8B-Claude-Fable-5") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("AnkitAI/Parable-Granite-4.1-8B-Claude-Fable-5") model = AutoModelForCausalLM.from_pretrained("AnkitAI/Parable-Granite-4.1-8B-Claude-Fable-5") 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
- vLLM
How to use AnkitAI/Parable-Granite-4.1-8B-Claude-Fable-5 with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "AnkitAI/Parable-Granite-4.1-8B-Claude-Fable-5" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "AnkitAI/Parable-Granite-4.1-8B-Claude-Fable-5", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/AnkitAI/Parable-Granite-4.1-8B-Claude-Fable-5
- SGLang
How to use AnkitAI/Parable-Granite-4.1-8B-Claude-Fable-5 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 "AnkitAI/Parable-Granite-4.1-8B-Claude-Fable-5" \ --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": "AnkitAI/Parable-Granite-4.1-8B-Claude-Fable-5", "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 "AnkitAI/Parable-Granite-4.1-8B-Claude-Fable-5" \ --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": "AnkitAI/Parable-Granite-4.1-8B-Claude-Fable-5", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use AnkitAI/Parable-Granite-4.1-8B-Claude-Fable-5 with Docker Model Runner:
docker model run hf.co/AnkitAI/Parable-Granite-4.1-8B-Claude-Fable-5
Parable-Granite-4.1-8B-Claude-Fable-5
Granite 4.1 8B trained on real Claude Fable 5 and GPT-5.5 agent traces: 70% lower held-out test loss than its base, and past the 0.71 mark the 9B-class incumbent reports on this data family.
Parable-Granite-4.1-8B is an ibm-granite/granite-4.1-8b fine-tune trained on real multi-step agent sessions: planning, tool use, and <think> reasoning captured from actual Claude Fable 5 and GPT-5.5 agent work, not synthetic Q&A. Largest release in the Parable series, alongside Parable-Qwen3-4B.
Usage
from transformers import AutoModelForCausalLM, AutoTokenizer
model = AutoModelForCausalLM.from_pretrained(
"AnkitAI/Parable-Granite-4.1-8B-Claude-Fable-5",
torch_dtype="auto", device_map="auto")
tok = AutoTokenizer.from_pretrained("AnkitAI/Parable-Granite-4.1-8B-Claude-Fable-5")
msgs = [{"role": "user", "content": "Write a Python function that retries an HTTP request with exponential backoff."}]
ids = tok.apply_chat_template(msgs, add_generation_prompt=True, return_tensors="pt").to(model.device)
out = model.generate(ids, max_new_tokens=3000, temperature=0.7, top_p=0.95, do_sample=True)
text = tok.decode(out[0][ids.shape[1]:], skip_special_tokens=True)
answer = text.split("</think>")[-1].strip() # response opens with a <think> block
print(answer)
GGUF quants for llama.cpp / Ollama / LM Studio: Parable-Granite-4.1-8B-Claude-Fable-5-GGUF.
Sampling: temperature 0.7, top_p 0.95, generous max_new_tokens (at least 2500).
Training data
- Glint-Research/Fable-5-traces: 4.4k real Claude Fable 5 coding-agent session traces with
<think>reasoning and tool calls (AGPL-3.0) - Roman1111111/gpt5.5-terminal: terminal-agent task solutions (MIT)
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.
Evaluation
Held-out test split, identical evaluation code and context length for base and fine-tune:
| Metric | Base Granite-4.1-8B | Parable | Δ |
|---|---|---|---|
| Test loss | 2.030 | 0.617 | −70% |
Qualitative review (34 coding/terminal/debugging prompts, strictly graded by mentally executing every answer): 20/34 fully correct, 32/34 correct or partially correct. 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. Cross-repo numbers are indicative only: splits, tokenizers, and context lengths differ (ours is measured at 1,024 tokens).
Limitations
- Trained for agent work: on ops-style prompts it sometimes (2/34 in our eval) responds with structured tool-call JSON rather than prose. Useful inside agent harnesses; in plain chat, re-prompt or lower the temperature.
- Fine-tuned at 1,024-token sequences; the base model's native 128K-token context remains fully available, so long sessions work, with the fine-tuned behavior strongest in the opening turns.
As a fine-tune it inherits Granite-4.1-8B's base behaviors and knowledge cutoff. As with any local model, treat generated commands and code as drafts to review.
Provenance & licensing
Model weights: Apache-2.0 (inherited from Granite-4.1-8B). Training data licenses: Fable-5-traces AGPL-3.0, gpt5.5-terminal MIT. Because 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.
Get Parable
| Platform | Command / Link |
|---|---|
| Ollama | ollama run parable/granite4.1-fable:8b |
| Ollama (family flagship, best per size) | ollama run parable/fable |
| Hugging Face | GGUF quants, full weights, eval reports |
| LM Studio | lms get parable/granite4.1-fable (parable on LM Studio Hub) |
Acknowledgements
- Glint-Research and Roman1111111 for the open trace datasets
- IBM Granite for the base model
- empero-ai, whose Qwable recipe the Parable series follows
- llama.cpp
- Downloads last month
- -
Model tree for AnkitAI/Parable-Granite-4.1-8B-Claude-Fable-5
Base model
ibm-granite/granite-4.1-8b