Text Generation
GGUF
English
Japanese
Chinese
llama.cpp
deepseek_v4
Mixture of Experts
nex-n2.5
lna-lab
conversational
Instructions to use sakamakismile/Nex-N2.5-Max-GGUF with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use sakamakismile/Nex-N2.5-Max-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 sakamakismile/Nex-N2.5-Max-GGUF:Q3_K_M # Run inference directly in the terminal: llama cli -hf sakamakismile/Nex-N2.5-Max-GGUF:Q3_K_M
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf sakamakismile/Nex-N2.5-Max-GGUF:Q3_K_M # Run inference directly in the terminal: llama cli -hf sakamakismile/Nex-N2.5-Max-GGUF:Q3_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 sakamakismile/Nex-N2.5-Max-GGUF:Q3_K_M # Run inference directly in the terminal: ./llama-cli -hf sakamakismile/Nex-N2.5-Max-GGUF:Q3_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 sakamakismile/Nex-N2.5-Max-GGUF:Q3_K_M # Run inference directly in the terminal: ./build/bin/llama-cli -hf sakamakismile/Nex-N2.5-Max-GGUF:Q3_K_M
Use Docker
docker model run hf.co/sakamakismile/Nex-N2.5-Max-GGUF:Q3_K_M
- LM Studio
- Jan
- vLLM
How to use sakamakismile/Nex-N2.5-Max-GGUF with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "sakamakismile/Nex-N2.5-Max-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": "sakamakismile/Nex-N2.5-Max-GGUF", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/sakamakismile/Nex-N2.5-Max-GGUF:Q3_K_M
- Ollama
How to use sakamakismile/Nex-N2.5-Max-GGUF with Ollama:
ollama run hf.co/sakamakismile/Nex-N2.5-Max-GGUF:Q3_K_M
- Unsloth Desktop
- Pi
How to use sakamakismile/Nex-N2.5-Max-GGUF with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf sakamakismile/Nex-N2.5-Max-GGUF:Q3_K_M
Configure the model in Pi
# Install Pi: npm install -g @earendil-works/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "llama-cpp": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "sakamakismile/Nex-N2.5-Max-GGUF:Q3_K_M" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Docker Model Runner
How to use sakamakismile/Nex-N2.5-Max-GGUF with Docker Model Runner:
docker model run hf.co/sakamakismile/Nex-N2.5-Max-GGUF:Q3_K_M
- Lemonade
How to use sakamakismile/Nex-N2.5-Max-GGUF with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull sakamakismile/Nex-N2.5-Max-GGUF:Q3_K_M
Run and chat with the model
lemonade run user.Nex-N2.5-Max-GGUF-Q3_K_M
List all available models
lemonade list
- Hermes Agent
How to use sakamakismile/Nex-N2.5-Max-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 sakamakismile/Nex-N2.5-Max-GGUF:Q3_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 sakamakismile/Nex-N2.5-Max-GGUF:Q3_K_M
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use sakamakismile/Nex-N2.5-Max-GGUF with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf sakamakismile/Nex-N2.5-Max-GGUF:Q3_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 "sakamakismile/Nex-N2.5-Max-GGUF:Q3_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"
File size: 3,169 Bytes
1a09ed0 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | diff --git a/conversion/deepseek.py b/conversion/deepseek.py
index 817eb76..a49f27a 100644
--- a/conversion/deepseek.py
+++ b/conversion/deepseek.py
@@ -694,7 +694,11 @@ class DeepseekV4Model(TextModel):
def dequant_fp8_weight(weight: Tensor, scale: Tensor) -> Tensor:
out_features, in_features = weight.shape
- scale_f = self._e8m0_to_float(scale)
+ # Lna-Lab 2026-09-09: Nex-N2.5-Max stores block scales as F32 values (ue8m0 semantics), not e8m0 bytes
+ if scale.dtype in (torch.float32, torch.float16, torch.bfloat16):
+ scale_f = scale.float()
+ else:
+ scale_f = self._e8m0_to_float(scale)
scale_f = scale_f.repeat_interleave(128, 0)[:out_features]
scale_f = scale_f.repeat_interleave(128, 1)[:, :in_features]
return weight.float() * scale_f
@@ -780,6 +784,20 @@ class DeepseekV4Model(TextModel):
for bid in range(self.block_count):
if self.mtp_only and bid < main_layers:
continue
+ if f"layers.{bid}.ffn.experts.0.w1.weight" in self._dsv4_fp8_dequantized:
+ # Lna-Lab 2026-09-09: FP8 routed experts (Nex-N2.5-Max) -> stack per projection, no MXFP4 repack
+ n_experts = self.hparams["n_routed_experts"]
+ for proj in ("w1", "w2", "w3"):
+ parts = []
+ for eid in range(n_experts):
+ wname = f"layers.{bid}.ffn.experts.{eid}.{proj}.weight"
+ parts.append(self.model_tensors[wname]().to(torch.bfloat16)) # lazy: evaluated at write time
+ consumed.append(wname)
+ stacked_name = f"layers.{bid}.ffn.experts.{proj}.weight"
+ self._dsv4_fp8_dequantized.add(stacked_name)
+ logger.info(f"{stacked_name}: stacked {n_experts} FP8-dequantized experts")
+ yield (stacked_name, torch.stack(parts, dim=0))
+ continue
consumed.extend(self._write_mxfp4_expert_tensor(bid, "w1", gguf.MODEL_TENSOR.FFN_GATE_EXP))
consumed.extend(self._write_mxfp4_expert_tensor(bid, "w2", gguf.MODEL_TENSOR.FFN_DOWN_EXP))
consumed.extend(self._write_mxfp4_expert_tensor(bid, "w3", gguf.MODEL_TENSOR.FFN_UP_EXP))
@@ -857,6 +875,9 @@ class DeepseekV4Model(TextModel):
"ffn.gate.bias": (gguf.MODEL_TENSOR.FFN_EXP_PROBS_B, ".bias"),
"ffn.gate.bias_vl": (gguf.MODEL_TENSOR.FFN_EXP_PROBS_B_VL, ".bias"),
"ffn.gate.tid2eid": (gguf.MODEL_TENSOR.FFN_GATE_TID2EID, ".weight"),
+ "ffn.experts.w1.weight": (gguf.MODEL_TENSOR.FFN_GATE_EXP, ".weight"),
+ "ffn.experts.w2.weight": (gguf.MODEL_TENSOR.FFN_DOWN_EXP, ".weight"),
+ "ffn.experts.w3.weight": (gguf.MODEL_TENSOR.FFN_UP_EXP, ".weight"),
"ffn.shared_experts.w1.weight": (gguf.MODEL_TENSOR.FFN_GATE_SHEXP, ".weight"),
"ffn.shared_experts.w2.weight": (gguf.MODEL_TENSOR.FFN_DOWN_SHEXP, ".weight"),
"ffn.shared_experts.w3.weight": (gguf.MODEL_TENSOR.FFN_UP_SHEXP, ".weight"),
|