bingleai/FableOpus-9B-TIES
FableOpus 9B TIES bf16
Fable-forward delta merge with Opus reasoning stabilization. Tensor-wise sign consensus and magnitude trimming inspired by TIES.
This is a bf16 safetensors merge in the Qwen3.5-9B family. It combines the agentic/tool-use flavor of Fable 5 distillation with Claude Opus reasoning distilled checkpoints.
Recipe
- Base anchor:
Qwen/Qwen3.5-9B - Merge method:
delta_tiesish - Output dtype:
bfloat16
Weights:
empero-ai/Qwable-9B-Claude-Fable-5: 0.52Jackrong/Qwen3.5-9B-Claude-4.6-Opus-Reasoning-Distilled: 0.33Jackrong/Qwen3.5-9B-Claude-4.6-Opus-Reasoning-Distilled-v2: 0.15
The local mergekit/transformers stack did not yet recognize the new qwen3_5 model type, so the merge was performed directly tensor-by-tensor over compatible safetensors checkpoints. Non-floating tensors are copied from the Fable/Qwable checkpoint; floating tensors are emitted as bf16.
Source Signals
- Fable source:
empero-ai/Qwable-9B-Claude-Fable-5, derived from Fable 5 traces. - Opus source:
Jackrong/Qwen3.5-9B-Claude-4.6-Opus-Reasoning-Distilled, a high-download Opus reasoning distilled checkpoint. - Opus v2 source:
Jackrong/Qwen3.5-9B-Claude-4.6-Opus-Reasoning-Distilled-v2.
Intended Use
General chat, code assistance, tool-use style prompting, and reasoning-heavy experiments. Evaluate before production use. This model inherits limitations and licensing/provenance constraints from its source checkpoints and datasets.
Quick Start
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch
model_id = "interpolators/FableOpus-9B-TIES"
tok = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(model_id, torch_dtype=torch.bfloat16, device_map="auto", trust_remote_code=True)
messages = [{"role": "user", "content": "Write a concise plan for building a small agentic coding benchmark."}]
text = tok.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inputs = tok(text, return_tensors="pt").to(model.device)
out = model.generate(**inputs, max_new_tokens=512, temperature=0.7)
print(tok.decode(out[0], skip_special_tokens=True))