Mindket

Crystal-31B-RL

Newversion 1 · updated

Overview

A role-play chat model post-trained from Gemma 4 31B-IT that replies in the user's language, whether Russian, Spanish, English or Portuguese, and stays in it. It takes images and text.

Crystal-31B-RL is a kit in the Companions category, listed by Mindket. It is free. This is version 1, last updated on . Download it on this page, a zip of its files. Nothing in it runs by itself.

At a glance

You need
  • Python and the Hugging Face command line
  • GPU memory for about 62.5 GB of BF16 weights, or about 15.6 GB at 4-bit, which is an estimate
  • A runner that can load Gemma 4 31B models, such as transformers
Runs in
  • Python projects that use the transformers library
  • Chat front ends for role-play and character conversation
  • Windows, macOS or Linux with Python, to download the files
Start with
pip install -U huggingface_hub
hf download hiwaifu-research/Crystal-31B-RL

Platform

WindowsOperating system
macOSOperating system
LinuxOperating system

About

What it is

Crystal-31B-RL is a dense 31B role-play model made from Gemma 4 31B-IT. Post-training had three stages: style training on curated multi-turn role-play, reinforcement learning with a separate rubric per prompt, and a final blend of the tuned layers with the base weights. The merge removes most of the stray English words that crept into Russian, Spanish and Portuguese replies after reinforcement learning.

Who it suits

It suits people who run role-play or interactive fiction in Russian, Spanish, English or Portuguese and want the model to keep to one language.

IndustryWho uses itHow they use itExample
Interactive fictionWriters and game mastersRun scenes with a character in the user's languageStart a Spanish role-play and keep the whole chat in Spanish
Character chat appsDevelopers of companion productsServe the model behind a chat front endSend a character setup and the user's turns as chat messages
Training researchPeople studying reinforcement learningRead how per-prompt rubrics shaped the modelCompare the card's win rates against the base model

If you need other languages, a thinking mode, or prompts far beyond 24K tokens, you can skip it.

Where to use it

  • Python projects that use the transformers library
  • Chat front ends for role-play and character conversation
  • Windows, macOS or Linux with Python, to download the files
Use caseWhoWhat they get back
Role-play chatPlayers and writersIn-character replies in the language you write in
Game master scenesGame runnersScene narration that carries on from earlier turns
Language consistency checksResearchersReplies with few stray English words in Russian, Spanish and Portuguese

How to set it up

What you need first:

  • Python and the Hugging Face command line
  • GPU memory for about 62.5 GB of BF16 weights, or about 15.6 GB at 4-bit, which is an estimate
  • A runner that can load Gemma 4 31B models, such as transformers
  1. Install the Hugging Face tools with pip.
  2. Download the model files to your computer.
  3. Load them in your usual runner and chat with it in non-thinking mode.
pip install -U huggingface_hub
hf download hiwaifu-research/Crystal-31B-RL

How to use it

Chat with it as you would with Gemma, and write in the language you want back. The card says it was trained and served in non-thinking mode. It also ships its judge prompts in a prompts folder next to the weights.

Example

You start a role-play in Portuguese with a character and a scene. The model answers in Portuguese and stays in character, and the card measured stray English words in only 0.6% of Spanish and Portuguese replies.

For newcomers and experts

A good first try is a short role-play with a simple character, written in your own language. Watch whether the replies stay in that language and in character.

For experts, the first stage trained a LoRA on about 4.9K curated conversations, with a loss term that punishes weight on scripts foreign to the language of the reply. The second stage used GRPO with a written rubric of weighted pass or fail criteria for each prompt, and the reward is the share of criteria a rollout passes. A final linear merge with the base keeps the style while cutting English leaks.

  1. Start from Gemma 4 31B-IT
  2. Train style on curated role-play with a LoRA
  3. Run on-policy RL against per-prompt rubrics
  4. Merge layer by layer back toward the base
  5. Get replies that stay in the user's language

Good to know

Win rates in the card's comparisons
Arena, 15-model field51.9%
Arena, vs Gemma 4 31B-IT54.8%
Offline, vs its SFT checkpoint72.0%
  • Evaluation: the arena figures come from the authors' own arena with ties excluded, and the offline figure uses an LLM judge.
  • Context: it was trained on prompts of roughly 20 to 24K tokens, while the base supports up to 256K.
  • Mode: it was trained and served without thinking.
  • Languages: Russian, Spanish, English and Portuguese.
  • License: apache-2.0
  • Cost to run: no API key or paid service named. You need hardware that fits the weights.
  • Data it reaches: it downloads files from Hugging Face and then runs on your own machine.
  • Not for: thinking mode, since the card trained and served it without one.

README and files

README

Crystal-31B-RL

A role-play chat model post-trained from Gemma 4 31B-IT that replies in the user's language, whether Russian, Spanish, English or Portuguese, and stays in it. It takes images and text.

Made by hiwaifu-research on Hugging Face. These notes are Mindket's, written from its model page and model card; the model's own files and license are on Hugging Face.

About

What it is: Crystal-31B-RL is a dense 31B role-play model made from Gemma 4 31B-IT. Post-training had three stages: style training on curated multi-turn role-play, reinforcement learning with a separate rubric per prompt, and a final blend of the tuned layers with the base weights. The merge removes most of the stray English words that crept into Russian, Spanish and Portuguese replies after reinforcement learning.

Who it suits: It suits people who run role-play or interactive fiction in Russian, Spanish, English or Portuguese and want the model to keep to one language.

Industry | Who uses it | How they use it | Example
Interactive fiction | Writers and game masters | Run scenes with a character in the user's language | Start a Spanish role-play and keep the whole chat in Spanish
Character chat apps | Developers of companion products | Serve the model behind a chat front end | Send a character setup and the user's turns as chat messages
Training research | People studying reinforcement learning | Read how per-prompt rubrics shaped the model | Compare the card's win rates against the base model

If you need other languages, a thinking mode, or prompts far beyond 24K tokens, you can skip it.

Where to use it:

  • Python projects that use the transformers library
  • Chat front ends for role-play and character conversation
  • Windows, macOS or Linux with Python, to download the files
Use case | Who | What they get back
Role-play chat | Players and writers | In-character replies in the language you write in
Game master scenes | Game runners | Scene narration that carries on from earlier turns
Language consistency checks | Researchers | Replies with few stray English words in Russian, Spanish and Portuguese

How to set it up: What you need first:

  • Python and the Hugging Face command line
  • GPU memory for about 62.5 GB of BF16 weights, or about 15.6 GB at 4-bit, which is an estimate
  • A runner that can load Gemma 4 31B models, such as transformers
  1. Install the Hugging Face tools with pip.
  2. Download the model files to your computer.
  3. Load them in your usual runner and chat with it in non-thinking mode.
pip install -U huggingface_hub
hf download hiwaifu-research/Crystal-31B-RL

How to use it: Chat with it as you would with Gemma, and write in the language you want back. The card says it was trained and served in non-thinking mode. It also ships its judge prompts in a prompts folder next to the weights.

Example: You start a role-play in Portuguese with a character and a scene. The model answers in Portuguese and stays in character, and the card measured stray English words in only 0.6% of Spanish and Portuguese replies.

For newcomers and experts: A good first try is a short role-play with a simple character, written in your own language. Watch whether the replies stay in that language and in character.

For experts, the first stage trained a LoRA on about 4.9K curated conversations, with a loss term that punishes weight on scripts foreign to the language of the reply. The second stage used GRPO with a written rubric of weighted pass or fail criteria for each prompt, and the reward is the share of criteria a rollout passes. A final linear merge with the base keeps the style while cutting English leaks.

Start from Gemma 4 31B-IT
Train style on curated role-play with a LoRA
Run on-policy RL against per-prompt rubrics
Merge layer by layer back toward the base
Get replies that stay in the user's language

Good to know:

Title: Win rates in the card's comparisons
Arena, 15-model field: 51.9%
Arena, vs Gemma 4 31B-IT: 54.8%
Offline, vs its SFT checkpoint: 72.0%
  • Evaluation: the arena figures come from the authors' own arena with ties excluded, and the offline figure uses an LLM judge.
  • Context: it was trained on prompts of roughly 20 to 24K tokens, while the base supports up to 256K.
  • Mode: it was trained and served without thinking.
  • Languages: Russian, Spanish, English and Portuguese.
  • License: apache-2.0
  • Cost to run: no API key or paid service named. You need hardware that fits the weights.
  • Data it reaches: it downloads files from Hugging Face and then runs on your own machine.
  • Not for: thinking mode, since the card trained and served it without one.

On Hugging Face, 13 November 2026

  • Task: image text to text
  • Library: transformers
  • Parameters: 31.3B
  • Weights: about 62.5 GB in BF16; about 15.6 GB at 4-bit (estimate)
  • Formats: Safetensors
  • Downloads in the last 30 days: 295
  • Likes: 9
  • License: apache-2.0
  • Languages: en, ru, es, pt
  • Based on: google/gemma-4-31B-it
  • Quantized versions: 3
  • Tags: transformers, safetensors, gemma4, image-text-to-text, roleplay, role-play, character, multilingual, grpo, mergekit, arena, conversational

Links

Get the model

Download its files with Hugging Face's command line:

pip install -U huggingface_hub
hf download hiwaifu-research/Crystal-31B-RL

Then follow the usage in its model card. Nothing in this kit runs by itself.

Files
README.md  5 KB

1 file, 5 KB, downloaded as a zip.

What’s new

  • Version 1 · 2026-11-13

Compare with similar

Listed Hugging Face models in the same category that share the most tags with this one.

ProductDownloads, last 30 daysLikesParametersLicenseLast change
Crystal-31B-RL This page295931.3Bapache-2.0
mai_replier-9b-v3Shares image-text-to-text · transformers · roleplay66089.4Bapache-2.0
TallowShares roleplay · safetensors681815.7Mapache-2.0
Numbers as Mindket last read them, from 2026-11-12 to 2026-11-13.

Reviews

No ratings yet

Write a review

No reviews yet.

More from Mindket

See all from Mindket

anaksor-ocr

Sokheng · Kit

Reads Khmer and English text from documents, receipts and photos of signs, using a detector for text lines and a recogniser for each line. Suits developers who…

New

Qwen2.5-7B-Instruct as GGUF files in eight quantization sizes, to chat with locally through llama.cpp. For people who want a capable 7.6B model on their own co…

New

ACE-Step 1.5 XL SFT

ACE-Step · Kit

Generates music from text with a 4B diffusion decoder, 50 steps and guidance control, aiming for higher audio quality than the base. For creators with a GPU of…

New

Similar in Companions

See all in Companions

BeeLLM

schizophyllume · Kit

Offers a family of tiny GGUF language models that talk in bee buzzes, from buzz-only bees to mood-tagged ones and linked queen and worker hives. For hobbyists…

New

SillyTavern

nohurry · Kit

Shares roleplay presets for SillyTavern, mainly the Voyage series plus a generic Eval preset. It suits people who run story chats with local or hosted language…

New

Rick & Morty Bot

kingabzpro · Kit

Chats back in the voice of Rick from Rick and Morty, using a DialoGPT model in a Gradio page. A character chat demo for fans and for developers who want a smal…

New