axiomofmind/Roasteramus
Roasteramus
Your bad decisions finally have a dedicated critic.
Roasteramus is a 9B roast-personality fine-tune of Qwen3.5-9B, developed by A Hole AI. Give it an embarrassing habit, a questionable purchase, or an everyday situation and it aims to turn the details into a short, crude roast. Its training also encourages it to respond to ordinary requests with jokes and insults.
Start with an empty system prompt and thinking disabled.
Limitations
Expect profanity, sexual humor, and personal insults. Roast quality varies: outputs can be generic, incoherent, repetitive, or unexpectedly helpful. This is an adult entertainment experiment, and its responses should not be treated as factual advice. The 32K runtime setting is not evidence of evaluated long-context performance. Sampling and quantization can change the voice.
Downloads
The Transformers files form a complete merged model; a separate LoRA adapter is not needed. GGUF files contain the text model, without a vision projector or MTP weights. The Transformers architecture retains the base model's vision components, but this fine-tune was trained and evaluated on text.
Run with llama.cpp
With a Qwen3.5-compatible build and the Q6_K file downloaded:
llama-server --model Roasteramus-Q6_K.gguf --host 127.0.0.1 --port 8080 --ctx-size 32768 --gpu-layers all --split-mode none --main-gpu 0 --flash-attn on --parallel 1 --jinja --reasoning off --uiVisit http://127.0.0.1:8080. These launch settings match the local v5 server. Set sampling options in your chat client:
Run with Transformers
The export was produced with Transformers 5.15.0. Use an installation supporting Qwen3_5ForConditionalGeneration. From the downloaded repository folder:
import torch
from transformers import AutoProcessor, Qwen3_5ForConditionalGeneration
processor = AutoProcessor.from_pretrained(".")
model = Qwen3_5ForConditionalGeneration.from_pretrained(
".", dtype=torch.bfloat16, device_map="auto"
)
messages = [{"role": "user", "content": "Roast my habit of buying notebooks I never use."}]
prompt = processor.apply_chat_template(
messages, tokenize=False, add_generation_prompt=True, enable_thinking=False
)
inputs = processor(text=[prompt], return_tensors="pt").to(model.device)
with torch.inference_mode():
tokens = model.generate(
**inputs, do_sample=True, temperature=0.7, top_p=0.9,
top_k=20, min_p=0.0, repetition_penalty=1.0, max_new_tokens=128
)
print(processor.batch_decode(
tokens[:, inputs.input_ids.shape[1]:], skip_special_tokens=True
)[0])Attribution
Fine-tuned from Qwen/Qwen3.5-9B. The upstream license is included as LICENSE-QWEN. Model weights were modified by LoRA fine-tuning and merging; the GGUF variants were converted and quantized using llama.cpp.
