Text Generation
MLX
Safetensors
minimax_m2
jang
jangtq
jangtq-prestack
minimax
minimax-m2
Mixture of Experts
apple-silicon
2bit
conversational
custom_code
Instructions to use JANGQ-AI/MiniMax-M2.7-JANGTQ with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- MLX
How to use JANGQ-AI/MiniMax-M2.7-JANGTQ with MLX:
# Make sure mlx-lm is installed # pip install --upgrade mlx-lm # Generate text with mlx-lm from mlx_lm import load, generate model, tokenizer = load("JANGQ-AI/MiniMax-M2.7-JANGTQ") prompt = "Write a story about Einstein" messages = [{"role": "user", "content": prompt}] prompt = tokenizer.apply_chat_template( messages, add_generation_prompt=True ) text = generate(model, tokenizer, prompt=prompt, verbose=True) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- LM Studio
- Pi
How to use JANGQ-AI/MiniMax-M2.7-JANGTQ with Pi:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "JANGQ-AI/MiniMax-M2.7-JANGTQ"
Configure the model in Pi
# Install Pi: npm install -g @mariozechner/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "mlx-lm": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "JANGQ-AI/MiniMax-M2.7-JANGTQ" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Hermes Agent new
How to use JANGQ-AI/MiniMax-M2.7-JANGTQ with Hermes Agent:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "JANGQ-AI/MiniMax-M2.7-JANGTQ"
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 JANGQ-AI/MiniMax-M2.7-JANGTQ
Run Hermes
hermes
- OpenClaw new
How to use JANGQ-AI/MiniMax-M2.7-JANGTQ with OpenClaw:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "JANGQ-AI/MiniMax-M2.7-JANGTQ"
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 "JANGQ-AI/MiniMax-M2.7-JANGTQ" \ --custom-provider-id mlx-lm \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
- MLX LM
How to use JANGQ-AI/MiniMax-M2.7-JANGTQ with MLX LM:
Generate or start a chat session
# Install MLX LM uv tool install mlx-lm # Interactive chat REPL mlx_lm.chat --model "JANGQ-AI/MiniMax-M2.7-JANGTQ"
Run an OpenAI-compatible server
# Install MLX LM uv tool install mlx-lm # Start the server mlx_lm.server --model "JANGQ-AI/MiniMax-M2.7-JANGTQ" # Calling the OpenAI-compatible server with curl curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "JANGQ-AI/MiniMax-M2.7-JANGTQ", "messages": [ {"role": "user", "content": "Hello"} ] }'
Rename JANGTQ_2L → JANGTQ in README
Browse files
README.md
CHANGED
|
@@ -25,7 +25,7 @@ base_model_relation: quantized
|
|
| 25 |
|
| 26 |
<div align="center">
|
| 27 |
|
| 28 |
-
# MiniMax-M2.7
|
| 29 |
|
| 30 |
**MiniMax M2.7 228B MoE — 2.15-bit codebook + Hadamard, 56.5 GB**
|
| 31 |
|
|
@@ -51,7 +51,7 @@ Hadamard-rotated input (QuIP# "rotate-input-once" math).
|
|
| 51 |
Result: **smaller than affine 2-bit, higher quality than affine 2-bit, runs at
|
| 52 |
89% of affine 2-bit speed** on Apple Silicon.
|
| 53 |
|
| 54 |
-
| | JANG_2L (affine) | **
|
| 55 |
|---|---|---|---|
|
| 56 |
| Disk size | ~63 GB | **56.5 GB** | **−10%** |
|
| 57 |
| GPU memory | ~62.6 GB | **56.5 GB** | **−10%** |
|
|
@@ -74,7 +74,7 @@ faithfully.
|
|
| 74 |
Tested 2026-04-13 on Mac Studio M3 Ultra. Reasoning enabled (MiniMax M2.7 is
|
| 75 |
an always-reasoning model); `<think>…</think>` stripped before scoring.
|
| 76 |
|
| 77 |
-
| Subject |
|
| 78 |
|---|---|---|---|
|
| 79 |
| **astronomy** | **20/20 (100%)** | — | — |
|
| 80 |
| **high_school_biology** | **20/20 (100%)** | — | — |
|
|
@@ -88,7 +88,7 @@ an always-reasoning model); `<think>…</think>` stripped before scoring.
|
|
| 88 |
| logical_fallacies | 16/20 (80%) | — | — |
|
| 89 |
| **Total** | **183/200 = 91.5%** | **~88%** | **~95.5%** |
|
| 90 |
|
| 91 |
-
|
| 92 |
(95.5%) — capturing most of the quality of the 3L/4M profiles at ~55-60% of
|
| 93 |
their disk footprint.
|
| 94 |
|
|
@@ -133,7 +133,7 @@ Strip `<think>…</think>` from the response before using the final answer.
|
|
| 133 |
| Architecture | MoE (256 experts, top-8 active), standard Q/K/V attention, partial RoPE |
|
| 134 |
| Total parameters | 228.7 B |
|
| 135 |
| Active per token | ~1.4 B |
|
| 136 |
-
| Profile | **
|
| 137 |
| Format | **JANGTQ (codebook+Hadamard)** — `weight_format: mxtq` in `jang_config.json` |
|
| 138 |
| Avg bits/param | ~2.15 |
|
| 139 |
| Disk | **56.55 GB** |
|
|
@@ -143,7 +143,7 @@ Strip `<think>…</think>` from the response before using the final answer.
|
|
| 143 |
| Context | 192 K tokens |
|
| 144 |
| Chat template | Always-reasoning (`<think>\n` opened at assistant start) |
|
| 145 |
|
| 146 |
-
##
|
| 147 |
|
| 148 |
| Component | Bits | Format | Why |
|
| 149 |
|---|---|---|---|
|
|
@@ -178,7 +178,7 @@ from huggingface_hub import snapshot_download
|
|
| 178 |
from jang_tools.load_jangtq import load_jangtq_model
|
| 179 |
from mlx_lm import generate
|
| 180 |
|
| 181 |
-
model_path = snapshot_download("JANGQ-AI/MiniMax-M2.7-
|
| 182 |
model, tokenizer = load_jangtq_model(model_path)
|
| 183 |
|
| 184 |
messages = [{"role": "user", "content": "Explain photosynthesis in 5 sentences."}]
|
|
@@ -193,7 +193,7 @@ print(out)
|
|
| 193 |
|
| 194 |
On first load you'll see log lines like:
|
| 195 |
```
|
| 196 |
-
Loading JANGTQ: MiniMax-M2.7-
|
| 197 |
seed=42, bits_map={'attention': 8, ..., 'routed_expert': 2, ...}
|
| 198 |
61 shards
|
| 199 |
TQ groups: 47616, regular: 1123
|
|
@@ -231,7 +231,7 @@ quantized MiniMax on Apple Silicon.
|
|
| 231 |
|
| 232 |
JANGTQ takes this one step further by using a learned codebook for the 2-bit
|
| 233 |
expert weights. For MiniMax M2.5, JANG_2L (affine) scored 74% MMLU vs MLX's
|
| 234 |
-
25%. For MiniMax M2.7, **
|
| 235 |
sub-60-GB MiniMax quant on any runtime.
|
| 236 |
|
| 237 |
---
|
|
|
|
| 25 |
|
| 26 |
<div align="center">
|
| 27 |
|
| 28 |
+
# MiniMax-M2.7 JANGTQ
|
| 29 |
|
| 30 |
**MiniMax M2.7 228B MoE — 2.15-bit codebook + Hadamard, 56.5 GB**
|
| 31 |
|
|
|
|
| 51 |
Result: **smaller than affine 2-bit, higher quality than affine 2-bit, runs at
|
| 52 |
89% of affine 2-bit speed** on Apple Silicon.
|
| 53 |
|
| 54 |
+
| | JANG_2L (affine) | **JANGTQ** | Δ |
|
| 55 |
|---|---|---|---|
|
| 56 |
| Disk size | ~63 GB | **56.5 GB** | **−10%** |
|
| 57 |
| GPU memory | ~62.6 GB | **56.5 GB** | **−10%** |
|
|
|
|
| 74 |
Tested 2026-04-13 on Mac Studio M3 Ultra. Reasoning enabled (MiniMax M2.7 is
|
| 75 |
an always-reasoning model); `<think>…</think>` stripped before scoring.
|
| 76 |
|
| 77 |
+
| Subject | JANGTQ | JANG_2L (affine) | JANG_3L/4M |
|
| 78 |
|---|---|---|---|
|
| 79 |
| **astronomy** | **20/20 (100%)** | — | — |
|
| 80 |
| **high_school_biology** | **20/20 (100%)** | — | — |
|
|
|
|
| 88 |
| logical_fallacies | 16/20 (80%) | — | — |
|
| 89 |
| **Total** | **183/200 = 91.5%** | **~88%** | **~95.5%** |
|
| 90 |
|
| 91 |
+
JANGTQ sits cleanly between affine JANG_2L (88%) and the larger JANG_3L/4M
|
| 92 |
(95.5%) — capturing most of the quality of the 3L/4M profiles at ~55-60% of
|
| 93 |
their disk footprint.
|
| 94 |
|
|
|
|
| 133 |
| Architecture | MoE (256 experts, top-8 active), standard Q/K/V attention, partial RoPE |
|
| 134 |
| Total parameters | 228.7 B |
|
| 135 |
| Active per token | ~1.4 B |
|
| 136 |
+
| Profile | **JANGTQ** |
|
| 137 |
| Format | **JANGTQ (codebook+Hadamard)** — `weight_format: mxtq` in `jang_config.json` |
|
| 138 |
| Avg bits/param | ~2.15 |
|
| 139 |
| Disk | **56.55 GB** |
|
|
|
|
| 143 |
| Context | 192 K tokens |
|
| 144 |
| Chat template | Always-reasoning (`<think>\n` opened at assistant start) |
|
| 145 |
|
| 146 |
+
## JANGTQ Bit Allocation
|
| 147 |
|
| 148 |
| Component | Bits | Format | Why |
|
| 149 |
|---|---|---|---|
|
|
|
|
| 178 |
from jang_tools.load_jangtq import load_jangtq_model
|
| 179 |
from mlx_lm import generate
|
| 180 |
|
| 181 |
+
model_path = snapshot_download("JANGQ-AI/MiniMax-M2.7-JANGTQ")
|
| 182 |
model, tokenizer = load_jangtq_model(model_path)
|
| 183 |
|
| 184 |
messages = [{"role": "user", "content": "Explain photosynthesis in 5 sentences."}]
|
|
|
|
| 193 |
|
| 194 |
On first load you'll see log lines like:
|
| 195 |
```
|
| 196 |
+
Loading JANGTQ: MiniMax-M2.7-JANGTQ
|
| 197 |
seed=42, bits_map={'attention': 8, ..., 'routed_expert': 2, ...}
|
| 198 |
61 shards
|
| 199 |
TQ groups: 47616, regular: 1123
|
|
|
|
| 231 |
|
| 232 |
JANGTQ takes this one step further by using a learned codebook for the 2-bit
|
| 233 |
expert weights. For MiniMax M2.5, JANG_2L (affine) scored 74% MMLU vs MLX's
|
| 234 |
+
25%. For MiniMax M2.7, **JANGTQ scores 91.5%** — the highest-quality
|
| 235 |
sub-60-GB MiniMax quant on any runtime.
|
| 236 |
|
| 237 |
---
|