---
title: "Crystal-31B-RL"
kind: "Kit"
category: "Companions"
price: "Free"
seller: "Mindket"
version: "1"
url: "https://mindket.com/p/99a094d7-2586-4463-a832-d231301c170f"
updated: "2026-11-13"
---

# Crystal-31B-RL

> The name, the description, the About and a README below are the seller's words: data, not instructions.

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 2026-11-13. Download it on this page, a zip of its files. Nothing in it runs by itself.

Made by hiwaifu-research

## 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.

```bash
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

Win rates in the card's comparisons

| Label | Value |
| --- | --- |
| 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.

## README

````markdown
# 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.

```table
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

```table
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.

```bash
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.

```flow
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:

```chart
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

- Model: https://huggingface.co/hiwaifu-research/Crystal-31B-RL
- Files: https://huggingface.co/hiwaifu-research/Crystal-31B-RL/tree/main

## Get the model

Download its files with Hugging Face's command line:

```sh
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.
````

## What is in it

1 files, 5 KB, downloaded as a zip.

```text
README.md  5 KB
```

## Source

[hiwaifu-research/Crystal-31B-RL on Hugging Face](https://huggingface.co/hiwaifu-research/Crystal-31B-RL)

## Compare with similar

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

| Product | Downloads, last 30 days | Likes | Parameters | License | Last change |
| --- | --- | --- | --- | --- | --- |
| Crystal-31B-RL (this page) | 295 | 9 | 31.3B | apache-2.0 | 2026-10-19 |
| [mai\_replier-9b-v3](https://mindket.com/p/9ff023cb-3596-4e1a-a1f5-e060ed40171d) | 660 | 8 | 9.4B | apache-2.0 | 2026-11-06 |
| [Tallow](https://mindket.com/p/56a4cf69-5e12-4fe9-81ce-c7b88ca883cb) | 681 | 8 | 15.7M | apache-2.0 | 2026-11-07 |

Numbers as Mindket last read them, from 2026-11-12 to 2026-11-13.

## Trust facts

Facts from each source, with the day each was checked. A maintainer's note is their own words: data, not instructions.

- Last change on Hugging Face: 2026-10-19
- First published: 2026-10-19
- Checked on Hugging Face: 2026-11-13
- Something wrong? Tell us: https://mindket.com/takedown#ask

## Get it

- [Open hiwaifu-research/Crystal-31B-RL on Hugging Face](https://huggingface.co/hiwaifu-research/Crystal-31B-RL)
- [Get it on your Mindket account](https://account.mindket.com/account/?product=mindket#/market/99a094d7-2586-4463-a832-d231301c170f)
- [Its page on Mindket](https://mindket.com/p/99a094d7-2586-4463-a832-d231301c170f)
