IBM Granite 4.1
Collection
now with high IQ • 22 items • Updated • 4
How to use nightmedia/granite-4.1-8b-mxfp8-mlx 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("nightmedia/granite-4.1-8b-mxfp8-mlx")
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)How to use nightmedia/granite-4.1-8b-mxfp8-mlx with Pi:
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "nightmedia/granite-4.1-8b-mxfp8-mlx"
# 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": "nightmedia/granite-4.1-8b-mxfp8-mlx"
}
]
}
}
}# Start Pi in your project directory: pi
How to use nightmedia/granite-4.1-8b-mxfp8-mlx with Hermes Agent:
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "nightmedia/granite-4.1-8b-mxfp8-mlx"
# 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 nightmedia/granite-4.1-8b-mxfp8-mlx
hermes
How to use nightmedia/granite-4.1-8b-mxfp8-mlx with MLX LM:
# Install MLX LM uv tool install mlx-lm # Interactive chat REPL mlx_lm.chat --model "nightmedia/granite-4.1-8b-mxfp8-mlx"
# Install MLX LM
uv tool install mlx-lm
# Start the server
mlx_lm.server --model "nightmedia/granite-4.1-8b-mxfp8-mlx"
# Calling the OpenAI-compatible server with curl
curl -X POST "http://localhost:8000/v1/chat/completions" \
-H "Content-Type: application/json" \
--data '{
"model": "nightmedia/granite-4.1-8b-mxfp8-mlx",
"messages": [
{"role": "user", "content": "Hello"}
]
}'Brainwaves
arc arc/e boolq hswag obkqa piqa wino
mxfp8 0.486,0.666,0.875,0.636,0.450,0.766,0.631
gemma-4-E4B-it
arc arc/e boolq hswag obkqa piqa wino
bf16 0.490,0.674,0.793,0.612,0.416,0.756,0.669
mxfp8 0.480,0.656,0.797,0.608,0.400,0.755,0.665
mxfp4 0.455,0.607,0.851,0.585,0.402,0.744,0.651
Qwen3.5-9B
mxfp8 0.417,0.458,0.623,0.634,0.338,0.737,0.639
mxfp4 0.419,0.472,0.622,0.634,0.352,0.739,0.644
q8-hi 0.413,0.455,0.622,0.642,0.346,0.746,0.654
q8 0.418,0.455,0.622,0.643,0.342,0.748,0.659
This model granite-4.1-8b-mxfp8-mlx was converted to MLX format from ibm-granite/granite-4.1-8b using mlx-lm version 0.31.3.
pip install mlx-lm
from mlx_lm import load, generate
model, tokenizer = load("granite-4.1-8b-mxfp8-mlx")
prompt = "hello"
if tokenizer.chat_template is not None:
messages = [{"role": "user", "content": prompt}]
prompt = tokenizer.apply_chat_template(
messages, add_generation_prompt=True, return_dict=False,
)
response = generate(model, tokenizer, prompt=prompt, verbose=True)
8-bit
Base model
ibm-granite/granite-4.1-8b