Prism logo

Prism Roleplay 1 Small

A frontier character-roleplay model, distilled from GLM 5.2 and Nemotron-3-Nano into Qwen3-8B


Available formats

Everything below lives in this one repository: pick the format that matches your runtime.

Format File / folder Precision Size Works with
MLX model.safetensors (repo root) 4-bit (group size 64) 4.61 GB mlx-lm / MLX on Apple Silicon
GGUF prism_roleplay_1_small_Q4_K_M.gguf Q4_K_M (4-bit) 5.03 GB llama.cpp, Ollama, LM Studio

Overview

Prism Roleplay 1 Small is a character-roleplay and immersive-dialogue model, fine-tuned via LoRA on Qwen3-8B using a distilled dataset generated by a mixed teacher pool: GLM 5.2 and NVIDIA Nemotron-3-Nano. It's built to fully embody a described character โ€” staying in voice, in scene, and in character โ€” across persona embodiment, multi-character scenes, emotional nuance, dialogue-heavy exchanges, and prose-heavy narration, without ever slipping into a generic "AI assistant" register.

Part of the Prism family of creative and roleplay models.

Training

  • Base model: mlx-community/Qwen3-8B-4bit
  • Teacher models: GLM 5.2 and NVIDIA Nemotron-3-Nano (via NVIDIA NIM), mixed for stylistic diversity โ€” 2,332 examples from GLM 5.2, 1,168 from Nemotron-3-Nano
  • Dataset: 3,500 examples across 10 categories โ€” character cards, scene continuations, multi-character scenes, dialogue-heavy exchanges, prose-heavy narration, emotional conflict, user-action reactions, in-character worldbuilding, group banter, and format shifts
  • Method: LoRA fine-tuning (rank 8, 16 layers), 9,000 iterations
  • Best validation loss: 1.377 (down from 3.453 at the start of training)

Evaluation โ€” the roleplay quality gain

A held-out base-vs-tuned comparison (20 fresh scenarios, one per category, generated through both the untouched base model and the base+LoRA adapter) shows a dramatic, measurable improvement:

Metric Base Qwen3-8B Prism Roleplay 1 Small
Leaked planning/reasoning text 20/20 (100%) 0/20 (0%)
Avg 4-gram repetition ratio 0.0172 0.0062
High-repetition outputs (>0.15) 1/20 0/20

The base model's biggest failure mode was breaking character entirely: Qwen3's native reasoning trace (<think>...</think>) leaked its full internal planning into every single response โ€” "Okay, the user wants a character card for... Let me break down the requirements" โ€” before the actual roleplay content even began. Prism Roleplay's LoRA training taught the model to suppress that leak completely (an empty, correctly-closed <think></think> block followed immediately by clean in-character content) in 100% of held-out samples, while also cutting repetition roughly 3x. This is the core behavior the distillation set out to fix, and it transferred cleanly.

Example (character card, isekai/portal fantasy, melancholic tone โ€” "a mysterious stranger who won't reveal their real name"):

Base: "Okay, the user wants a character card for an isekai/portal fantasy roleplay with a melancholic tone. The character is a mysterious stranger who won't reveal their real name. Let me break down the requirements. First, the character card needs a name, physical description..." โ€” the whole response is the model narrating its plan to itself.

Prism Roleplay: "Name: No Name Given. Physical Description: A tall, gaunt figure wrapped in a threadbare charcoal coat that seems to absorb candlelight. Their face is obscured by a hood, but the sharp, pale eyes beneath it betray a weary intelligence..." โ€” straight into a complete, well-formed character card.

Formats available

This repo includes both:

Format File Notes
MLX (4-bit) model.safetensors + config For Apple Silicon via mlx-lm
GGUF (Q4_K_M) prism_roleplay_1_small_Q4_K_M.gguf For llama.cpp and compatible runtimes (LM Studio, Ollama, etc.)

Usage โ€” MLX

from mlx_lm import load, generate

model, tokenizer = load("VertexAGI/prism-roleplay-1-small")

prompt = "You are a stoic mercenary with a hidden soft side, sitting in a candlelit tavern on a stormy night. The user just sat down across from you."
messages = [{"role": "user", "content": prompt}]
text = tokenizer.apply_chat_template(messages, add_generation_prompt=True, tokenize=False)

response = generate(model, tokenizer, prompt=text, max_tokens=400)
print(response)

Usage โ€” GGUF (llama.cpp)

Qwen3's chat template only suppresses its reasoning trace when the runtime explicitly signals non-thinking mode. mlx-lm does this automatically; with llama.cpp you need -rea off (or --reasoning off), otherwise the model will emit a visible <think>...</think> reasoning block before its in-character response, even though the underlying trained behavior is identical:

llama-cli -hf VertexAGI/prism-roleplay-1-small -m prism_roleplay_1_small_Q4_K_M.gguf -st -rea off -sys "You are a master roleplay writer generating training examples for a character-roleplay AI. Given a scenario, fully embody the described character and write an immersive, in-character response. Stay completely in character. Never write as an AI assistant. Never break the fourth wall or add out-of-character notes." -p "You are a stoic mercenary with a hidden soft side, sitting in a candlelit tavern on a stormy night. The user just sat down across from you."

System prompt

For best results, use the system prompt the model was trained with:

You are a master roleplay writer generating training examples for a character-roleplay AI. Given a scenario, fully embody the described character and write an immersive, in-character response. Stay completely in character. Never write as an AI assistant. Never break the fourth wall or add out-of-character notes.

Limitations

This is an 8B-parameter model fine-tuned via LoRA on a moderately sized (3,500-example) dataset โ€” it's capable but not infallible. Like any distilled model it inherits some of its teachers' stylistic tendencies, and very long multi-turn roleplay sessions may drift more than a full fine-tune would. Treat outputs as a strong starting point, not a guaranteed-perfect final one.

License

Apache 2.0, inherited from the Qwen3 base model.

Downloads last month
715
Safetensors
Model size
8B params
Tensor type
U32
ยท
BF16
ยท
MLX
Hardware compatibility
Log In to add your hardware

4-bit

Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for VertexAGI/prism-roleplay-1-small

Finetuned
Qwen/Qwen3-8B
Adapter
(7)
this model