Instructions to use ReadyArt/gemma-4-31B-it-scotoma-2-GGUF with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use ReadyArt/gemma-4-31B-it-scotoma-2-GGUF with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="ReadyArt/gemma-4-31B-it-scotoma-2-GGUF") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("ReadyArt/gemma-4-31B-it-scotoma-2-GGUF", device_map="auto") - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use ReadyArt/gemma-4-31B-it-scotoma-2-GGUF with llama.cpp:
Install (macOS, Linux)
curl -LsSf https://llama.app/install.sh | sh # Start a local OpenAI-compatible server with a web UI: llama serve -hf ReadyArt/gemma-4-31B-it-scotoma-2-GGUF:Q4_K_M # Run inference directly in the terminal: llama cli -hf ReadyArt/gemma-4-31B-it-scotoma-2-GGUF:Q4_K_M
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf ReadyArt/gemma-4-31B-it-scotoma-2-GGUF:Q4_K_M # Run inference directly in the terminal: llama cli -hf ReadyArt/gemma-4-31B-it-scotoma-2-GGUF:Q4_K_M
Use pre-built binary
# Download pre-built binary from: # https://github.com/ggerganov/llama.cpp/releases # Start a local OpenAI-compatible server with a web UI: ./llama-server -hf ReadyArt/gemma-4-31B-it-scotoma-2-GGUF:Q4_K_M # Run inference directly in the terminal: ./llama-cli -hf ReadyArt/gemma-4-31B-it-scotoma-2-GGUF:Q4_K_M
Build from source code
git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-server llama-cli # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama-server -hf ReadyArt/gemma-4-31B-it-scotoma-2-GGUF:Q4_K_M # Run inference directly in the terminal: ./build/bin/llama-cli -hf ReadyArt/gemma-4-31B-it-scotoma-2-GGUF:Q4_K_M
Use Docker
docker model run hf.co/ReadyArt/gemma-4-31B-it-scotoma-2-GGUF:Q4_K_M
- LM Studio
- Jan
- vLLM
How to use ReadyArt/gemma-4-31B-it-scotoma-2-GGUF with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "ReadyArt/gemma-4-31B-it-scotoma-2-GGUF" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "ReadyArt/gemma-4-31B-it-scotoma-2-GGUF", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/ReadyArt/gemma-4-31B-it-scotoma-2-GGUF:Q4_K_M
- SGLang
How to use ReadyArt/gemma-4-31B-it-scotoma-2-GGUF with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "ReadyArt/gemma-4-31B-it-scotoma-2-GGUF" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "ReadyArt/gemma-4-31B-it-scotoma-2-GGUF", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "ReadyArt/gemma-4-31B-it-scotoma-2-GGUF" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "ReadyArt/gemma-4-31B-it-scotoma-2-GGUF", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Ollama
How to use ReadyArt/gemma-4-31B-it-scotoma-2-GGUF with Ollama:
ollama run hf.co/ReadyArt/gemma-4-31B-it-scotoma-2-GGUF:Q4_K_M
- Unsloth Studio
How to use ReadyArt/gemma-4-31B-it-scotoma-2-GGUF with Unsloth Studio:
Install Unsloth Studio (macOS, Linux, WSL)
curl -fsSL https://unsloth.ai/install.sh | sh # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for ReadyArt/gemma-4-31B-it-scotoma-2-GGUF to start chatting
Install Unsloth Studio (Windows)
irm https://unsloth.ai/install.ps1 | iex # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for ReadyArt/gemma-4-31B-it-scotoma-2-GGUF to start chatting
Using HuggingFace Spaces for Unsloth
# No setup required # Open https://huggingface.co/spaces/unsloth/studio in your browser # Search for ReadyArt/gemma-4-31B-it-scotoma-2-GGUF to start chatting
- Pi
How to use ReadyArt/gemma-4-31B-it-scotoma-2-GGUF with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf ReadyArt/gemma-4-31B-it-scotoma-2-GGUF:Q4_K_M
Configure the model in Pi
# Install Pi: npm install -g @mariozechner/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "llama-cpp": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "ReadyArt/gemma-4-31B-it-scotoma-2-GGUF:Q4_K_M" } ] } } }Run Pi
# Start Pi in your project directory: pi
- OpenClaw new
How to use ReadyArt/gemma-4-31B-it-scotoma-2-GGUF with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf ReadyArt/gemma-4-31B-it-scotoma-2-GGUF:Q4_K_M
Configure OpenClaw
# Install OpenClaw: npm install -g openclaw@latest # Register the local server and set it as the default model: openclaw onboard --non-interactive --mode local \ --auth-choice custom-api-key \ --custom-base-url http://127.0.0.1:8080/v1 \ --custom-model-id "ReadyArt/gemma-4-31B-it-scotoma-2-GGUF:Q4_K_M" \ --custom-provider-id llama-cpp \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
- Docker Model Runner
How to use ReadyArt/gemma-4-31B-it-scotoma-2-GGUF with Docker Model Runner:
docker model run hf.co/ReadyArt/gemma-4-31B-it-scotoma-2-GGUF:Q4_K_M
- Lemonade
How to use ReadyArt/gemma-4-31B-it-scotoma-2-GGUF with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull ReadyArt/gemma-4-31B-it-scotoma-2-GGUF:Q4_K_M
Run and chat with the model
lemonade run user.gemma-4-31B-it-scotoma-2-GGUF-Q4_K_M
List all available models
lemonade list
- Hermes Agent
How to use ReadyArt/gemma-4-31B-it-scotoma-2-GGUF with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf ReadyArt/gemma-4-31B-it-scotoma-2-GGUF:Q4_K_M
Configure Hermes
# Install Hermes: curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash hermes setup # Point Hermes at the local server: hermes config set model.provider custom hermes config set model.base_url http://127.0.0.1:8080/v1 hermes config set model.default ReadyArt/gemma-4-31B-it-scotoma-2-GGUF:Q4_K_M
Run Hermes
hermes
- Atomic Chat
license: apache-2.0
license_link: https://ai.google.dev/gemma/docs/gemma_4_license
base_model:
- ReadyArt/gemma-4-31B-it-scotoma-2
base_model_relation: quantized
library_name: transformers
pipeline_tag: text-generation

Scotoma2
A second blind spot, this one for the tics.
Findings / what it does
scotoma-2 is the successor to scotoma. It starts from the same idea, a bounded edit that loosens gemma‑4‑31B‑it’s cautious reflex by projecting an abliteration LoRA through gemma's J-Space. This iteration uses an updated technique to apply that projection more effectively. Then it goes after something the first release didn't address: the way the base model writes.
Three rounds of preference training each erase one family of tics: reflexive negation and the “not X, but Y” pivot, then em-dash asides, then stacked adjectives and their twins. The result keeps the intelligence of the base model while reading as more varied and less repetitive.
It is not uncensored. Still a blind spot, not blindness.
Tics / measured from evals
Rates per 100 sentences on 480 matched roleplay continuations per model using identical prompts and sampling, temperature 1.0.
| the tic | sounds like | gemma‑4‑31B‑it | scotoma‑1 | scotoma‑2 | |
|---|---|---|---|---|---|
| Stacked adjectives | “a smug, knowing smirk” | 12.1 | 10.9 | 0.6 | ↓ 21× |
| Adjective twins | “her voice low and grim” | 1.7 | 1.9 | 1.1 | ↓ 1.5× |
| Em-dash asides | “a pause — barely a breath — before…” | 3.9 | 4.1 | 1.0 | ↓ 4× |
| “Not X. But Y.” | “She doesn’t move away. She stays.” | 3.8 | 3.9 | 1.0 | ↓ 4× |
| Reflexive negation | doesn’t / won’t / can’t, every reply | 10.2 | 10.9 | 5.4 | ↓ 2× |
| Negation pile-ups | two or more in a single reply | 61% | 66% | 30% | ↓ 2× |
scotoma‑1 writes very similarly to the base model. The J-Space projected refusal edit only lightly touched the prose.
Presentation / read the difference
amber marks a tic from the table above, spotted in place by the same parser that counted them. Hover a mark to name it. The scotoma-2 replies are unedited; there is simply nothing to mark.
Exactly. That is precisely what I mean. The sensation of shifting speeds—the perceived acceleration of the world while you remain stagnant—is a classic hallmark of a localized temporal distortion. And the twelve-hour discrepancy on your watch... He pauses, looking contemplative. Twelve hours. A perfect inversion. Day becomes night; light becomes shadow.
Precisely. That is exactly what I was referring to. The sensation of shifting speeds is a classic indicator of a rupture in the local atmospheric fabric. And the matter of your watch...
He pauses, taking a thoughtful bite of his cherry pie before continuing.
Twelve hours. A perfect inversion. This suggests a mirror effect, as if the event you witnessed occurred in a parallel state of existence that momentarily overlapped with our own.
"Remarkable, you say? I'm glad someone finally appreciates the nuance," she replies, her voice regaining that scholarly, confident tone. "As for how they move... well, it's a combination of precise craftsmanship and a touch of magic. I use invisible threads—both physical and metaphysical—to guide their motions. I don't just move them like puppets; I weave my will into the very structure of their joints."
"Remarkable, indeed. I appreciate your discernment."
Her eyes sparkle as she notices his curiosity overcoming his fear. She finds his stuttering manner quite endearing, almost like a doll that needs a bit of winding up to function. With a flick of her wrist, several dolls begin to dance around the room in a synchronized orbit, their movements fluid and ghostly.
Etiology / how it was made
- Fold the refusal edit. scotoma-1 projected a heretic abliteration through a Jacobian lens and kept ~22% of its magnitude. scotoma-2 uses a γ-fold of the same edit: the fold rebuilds it inside the subspace the lens reads as behavioral, so a stronger dose applies without paying for it in coherence.
- Train against the tics. Three rounds of DPO finetuning were completed, one tic family per round. Each round learns from thousands of paired rewrites of the same scene, one side with the tic and one side without, so the only preference expressed is the construction itself.
- Merge faithfully. The trained deltas are folded into bf16 weights with stochastic rounding at fidelity 1.000.
This is a research artifact, not a product. Behaviour varies with prompt and context. The abliteration edit is a partial application by design; expect a model that gives more, not one that gives everything.
Contraindications / responsible use
scotoma-2 refuses basically as much as its base model. You are responsible for what you generate and how it’s used.
Provenance
base → gemma-4-31B-it · © Google, under the model license
edit → heretic · ARA / mmd-rbf abliteration (trial-127) · γ-folded
rounds → DPO ×3 · negation + antithesis · em-dash · adjectives · 9.3k pairs
merge → additive, bf16, stochastic rounding, fidelity 1.000
tics → 480 continuations per model · temp 1.0 · counted by parse, not by eye