Instructions to use offmonreal/KAT-Coder-V2.5-Dev-MaxQuality-iMatrix-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 offmonreal/KAT-Coder-V2.5-Dev-MaxQuality-iMatrix-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 offmonreal/KAT-Coder-V2.5-Dev-MaxQuality-iMatrix-GGUF:Q3_K_M_IMATRIX # Run inference directly in the terminal: llama cli -hf offmonreal/KAT-Coder-V2.5-Dev-MaxQuality-iMatrix-GGUF:Q3_K_M_IMATRIX
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf offmonreal/KAT-Coder-V2.5-Dev-MaxQuality-iMatrix-GGUF:Q3_K_M_IMATRIX # Run inference directly in the terminal: llama cli -hf offmonreal/KAT-Coder-V2.5-Dev-MaxQuality-iMatrix-GGUF:Q3_K_M_IMATRIX
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 offmonreal/KAT-Coder-V2.5-Dev-MaxQuality-iMatrix-GGUF:Q3_K_M_IMATRIX # Run inference directly in the terminal: ./llama-cli -hf offmonreal/KAT-Coder-V2.5-Dev-MaxQuality-iMatrix-GGUF:Q3_K_M_IMATRIX
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 offmonreal/KAT-Coder-V2.5-Dev-MaxQuality-iMatrix-GGUF:Q3_K_M_IMATRIX # Run inference directly in the terminal: ./build/bin/llama-cli -hf offmonreal/KAT-Coder-V2.5-Dev-MaxQuality-iMatrix-GGUF:Q3_K_M_IMATRIX
Use Docker
docker model run hf.co/offmonreal/KAT-Coder-V2.5-Dev-MaxQuality-iMatrix-GGUF:Q3_K_M_IMATRIX
- LM Studio
- Jan
- Ollama
How to use offmonreal/KAT-Coder-V2.5-Dev-MaxQuality-iMatrix-GGUF with Ollama:
ollama run hf.co/offmonreal/KAT-Coder-V2.5-Dev-MaxQuality-iMatrix-GGUF:Q3_K_M_IMATRIX
- Unsloth Studio
How to use offmonreal/KAT-Coder-V2.5-Dev-MaxQuality-iMatrix-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 offmonreal/KAT-Coder-V2.5-Dev-MaxQuality-iMatrix-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 offmonreal/KAT-Coder-V2.5-Dev-MaxQuality-iMatrix-GGUF to start chatting
Using HuggingFace Spaces for Unsloth
# No setup required # Open https://huggingface.co/spaces/unsloth/studio in your browser # Search for offmonreal/KAT-Coder-V2.5-Dev-MaxQuality-iMatrix-GGUF to start chatting
- Pi
How to use offmonreal/KAT-Coder-V2.5-Dev-MaxQuality-iMatrix-GGUF with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf offmonreal/KAT-Coder-V2.5-Dev-MaxQuality-iMatrix-GGUF:Q3_K_M_IMATRIX
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": "offmonreal/KAT-Coder-V2.5-Dev-MaxQuality-iMatrix-GGUF:Q3_K_M_IMATRIX" } ] } } }Run Pi
# Start Pi in your project directory: pi
- OpenClaw new
How to use offmonreal/KAT-Coder-V2.5-Dev-MaxQuality-iMatrix-GGUF with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf offmonreal/KAT-Coder-V2.5-Dev-MaxQuality-iMatrix-GGUF:Q3_K_M_IMATRIX
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 "offmonreal/KAT-Coder-V2.5-Dev-MaxQuality-iMatrix-GGUF:Q3_K_M_IMATRIX" \ --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 offmonreal/KAT-Coder-V2.5-Dev-MaxQuality-iMatrix-GGUF with Docker Model Runner:
docker model run hf.co/offmonreal/KAT-Coder-V2.5-Dev-MaxQuality-iMatrix-GGUF:Q3_K_M_IMATRIX
- Lemonade
How to use offmonreal/KAT-Coder-V2.5-Dev-MaxQuality-iMatrix-GGUF with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull offmonreal/KAT-Coder-V2.5-Dev-MaxQuality-iMatrix-GGUF:Q3_K_M_IMATRIX
Run and chat with the model
lemonade run user.KAT-Coder-V2.5-Dev-MaxQuality-iMatrix-GGUF-Q3_K_M_IMATRIX
List all available models
lemonade list
- Hermes Agent
How to use offmonreal/KAT-Coder-V2.5-Dev-MaxQuality-iMatrix-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 offmonreal/KAT-Coder-V2.5-Dev-MaxQuality-iMatrix-GGUF:Q3_K_M_IMATRIX
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 offmonreal/KAT-Coder-V2.5-Dev-MaxQuality-iMatrix-GGUF:Q3_K_M_IMATRIX
Run Hermes
hermes
- Atomic Chat
- KAT-Coder-V2.5-Dev MaxQuality iMatrix GGUF
- Files
- Quantization profiles
- Tested hardware and software
- Recommended 256K launch command (Q4)
- Q3_K_M launch command
- Upstream model card
- license: apache-2.0
language:
- en
- zh
library_name: transformers
pipeline_tag: text-generation
tags:
- code
- agent
- agentic-coding
- moe
- coding
base_model:
- Qwen3.6-35B-A3B
- KAT-Coder-V2.5-Dev Highlights
- Benchmark performance
- Post-training
- Quickstart
- Using KAT-Coder-V2.5-Dev via the Chat Completions API
- Instruct (or Non-Thinking) Mode
- Preserve Thinking
- Processing Ultra-Long Texts
- Citation
- Files
KAT-Coder-V2.5-Dev MaxQuality iMatrix GGUF
Quality-first GGUF quants for running a 35B MoE agentic-coding model on consumer hardware. This release aims for the best practical balance of output quality, generation speed, and memory use — not merely the smallest possible file.
The upstream checkpoint declares a vision-capable architecture class (Qwen3_5MoeForConditionalGeneration) in its config, but the released weights already contain zero vision tensors — there was nothing to strip. The config was restructured to the plain text-only causal-LM form (Qwen3_5MoeForCausalLM) required for GGUF conversion; the weights themselves are untouched.
Files
| File | Size | BPW | Intended use |
|---|---|---|---|
KAT-Coder-V2.5-Dev_Q4_K_M_imatrix.gguf |
19.70 GiB | 4.88 | Higher quality with a balanced MoE CPU/GPU split |
KAT-Coder-V2.5-Dev_Q3_K_M_imatrix.gguf |
16.04 GiB | 3.98 | Quality-focused smaller option for consumer GPUs |
Both files are calibrated with an iMatrix built from calibration_datav5.txt (802 chunks, full expert coverage — 0 tensors with partial data at the final checkpoint).
Quantization profiles
Q4_K_M iMatrix
Plain Q4_K_M quantization with imatrix guidance — no manual per-tensor overrides. llama.cpp's own K-quant preset applies a position-dependent mix within several tensor roles (it protects tensors in the earliest/latest layers with higher precision); the table below reflects the actual observed split, not a simplification.
- Embedding (
token_embd): Q4_K; Output (lm_head): Q6_K - MoE router (
ffn_gate_inp): F32 - Linear-attention (SSM) QKV/gate: mixed Q4_K / Q6_K (16 / 14 of 30 layers)
- Full-attention Q/K/output: Q4_K (all layers); V: mixed Q4_K / Q6_K (4 / 6 of 10 layers)
- Routed MoE experts gate/up: Q4_K (all layers); down: mixed Q4_K / Q6_K (20 / 20 of 40 layers)
- Shared MoE experts gate/up/down: Q4_K
- Normalization, SSM scalars, biases: F32
Q3_K_M iMatrix
Base type Q3_K_M with explicit per-tensor overrides protecting attention, linear-attention (SSM), and shared experts; routed experts are left at the default.
- Embedding / output: Q6_K (explicit override)
- MoE router (
ffn_gate_inp): F32 - Linear-attention (SSM) QKV/gate, SSM output: Q5_K (explicit override, all 30 layers)
- Full-attention Q/K/V/output: Q5_K (explicit override, all 10 layers)
- Shared MoE experts gate/up/down: Q5_K (explicit override, all 40 layers)
- Routed MoE experts gate/up: Q3_K (
Q3_K_Mdefault, no override) - Routed MoE experts down: Q4_K (38 of 40 layers) / Q5_K (layers 0–1) —
Q3_K_Mdefault's own position-dependent split - SSM alpha/beta gates: Q3_K (default); normalization, other SSM scalars, biases: F32
Tested hardware and software
- Linux
- NVIDIA GeForce RTX 5060 Ti, 16 GB VRAM
- AMD Ryzen 9 5950X, 16 cores / 32 threads
- 64 GB system RAM
- TheTom/llama-cpp-turboquant, commit
c26cbdffc
Observed generation speed on this machine:
| Variant | Context | Generation speed |
|---|---|---|
| Q4 iMatrix | ~10K | ~60 tok/s |
| Q3 iMatrix | ~10K | ~80 tok/s |
| Q3 iMatrix | ~20K | ~74 tok/s |
Actual speed varies with context length, prompt size, CPU memory bandwidth, and the selected MoE offload split.
Recommended 256K launch command (Q4)
This profile keeps the KV cache in VRAM and moves only late routed-expert tensors to CPU RAM. Attention, routers, embeddings, and output remain on the GPU. turbo3 KV enables the TurboQuant path; K is automatically upgraded to q8_0 for this model's 8:1 GQA ratio.
llama-server \
--jinja --host 0.0.0.0 --port 8080 \
-m KAT-Coder-V2.5-Dev_Q4_K_M_imatrix.gguf \
--n-gpu-layers 99 --n-cpu-moe 0 \
-ot "blk\.(2[4-9]|3[0-9])\.ffn_.*_exps\.weight=CPU" \
--ctx-size 262144 --parallel 1 \
--flash-attn on \
--cache-type-k turbo3 --cache-type-v turbo3 \
--batch-size 262144 --ubatch-size 1024 --cache-reuse 256
Q3_K_M launch command
Tested on this file: ~80 tok/s at ~10K context, ~74 tok/s at ~20K context.
llama-server \
--jinja --host 0.0.0.0 --port 8080 \
-m KAT-Coder-V2.5-Dev_Q3_K_M_imatrix.gguf \
--n-gpu-layers 99 --n-cpu-moe 0 \
-ot "blk\.3[0-9]\.ffn_.*_exps\.weight=CPU" \
--ctx-size 262144 --parallel 1 \
--flash-attn on \
--cache-type-k turbo3 --cache-type-v turbo3 \
--batch-size 262144 --ubatch-size 1024 --cache-reuse 256
Extending context beyond 262,144 tokens
The upstream model natively supports 262,144 tokens. The original authors document YaRN RoPE scaling (factor 4.0) to extend usable context to roughly 1,010,000 tokens on frameworks that support runtime RoPE overrides (vLLM, SGLang, KTransformers). See the "Processing Ultra-Long Texts" section in the reproduced upstream card below for the exact parameters; applying the same scaling to a GGUF/llama.cpp deployment has not been tested for this release.
Upstream model card
This release is based on the original KAT-Coder-V2.5-Dev model card reproduced in full below. Its original license declaration and complete model card are preserved unchanged.
license: apache-2.0 language: - en - zh library_name: transformers pipeline_tag: text-generation tags: - code - agent - agentic-coding - moe - coding base_model: - Qwen3.6-35B-A3B
KAT-Coder-V2.5-Dev
| This repository contains the model weights and configuration files for the post-trained KAT-Coder-V2.5-Dev in the Hugging Face Transformers format. The artifacts are compatible with Hugging Face Transformers, vLLM, SGLang, KTransformers, etc. Note: this open-weight release ships only the language-model weights and operates as a text-only model; the vision/multimodal components are not included and are unavailable. |
Following the release of KAT-Coder-V2.5 in July, we are pleased to release the open-weight version KAT-Coder-V2.5-Dev, an MOE model with a total parameter count of 35B and 3B activated parameters, to strengthen communication with the community and showcase our research achievements.
KAT-Coder-V2.5-Dev Highlights
- Performance improvement. Through SFT/RL training, KAT-Coder-V2.5-Dev achieves SOTA results in the field of Agentic Coding among models with similar parameter scales.
- Optimization of abnormal behaviors. Through RL training, certain abnormal behaviors have been significantly optimized, such as: abnormal tool labels -9pp (9.34% -> 0.28%), single-turn continuous repetition -0.34pp (0.34% -> 0%).
Benchmark performance
| Benchmark | KAT-Coder-V2.5-Dev | Qwen3.5-27B | Qwen3.6-35BA3B | Gemma4-31B | Qwen3.5-35BA3B | Ornith-1.0-35B | Gemma4-26BA4B | Qwen3-Coder-30B |
| Coding Agent | ||||||||
| SWE-bench Verified | 69.40 | 68.60 | 64.40 | 60.60 | 58.60 | 55.80 | 35.80 | 31.80 |
| SWE-bench Multilingual | 63.00 | 57.67 | 57.00 | 49.33 | 47.67 | 51.67 | 27.33 | 20.67 |
| SWE-bench Pro | 45.96 | 42.13 | 40.63 | 32.97 | 38.03 | 34.47 | 9.58 | 19.84 |
| Terminal-Bench 2.1 | 41.02 32.60 / 49.44 |
34.84 41.57 / 28.10 |
32.02 34.83 / 29.20 |
32.59 30.34 / 34.83 |
26.12 26.44 / 25.80 |
35.98 35.96 / 36.00 |
20.94 27.27 / 14.60 |
13.50 10.11 / 16.90 |
| PinchBench | 93.43 | 90.71 | 92.21 | 85.53 | 88.75 | 91.62 | 82.01 | 72.3 |
| Scicode | 44.20 | 25.58 | 37.53 | 33.19 | 27.73 | 30.34 | 30.84 | 18.27 |
| KAT-Code-Bench | 46.21 | 44.83 | 42.76 | 37.93 | 35.86 | 33.10 | 22.06 | 15.17 |
For Terminal-Bench 2.1, the bold number is the average across two agent harnesses; the small numbers below are the per-harness scores (Terminus-2 / Claude Code).
1. Evaluation method. All metrics presented in the table are reproduced in-house: we download the public model checkpoints, deploy them via vLLM or SGLang, and evaluate under a unified standardized pipeline. No officially reported results of the respective models are directly adopted in this table. Each model is tested only once on each evaluation set; retests are conducted only if obvious errors are found.
2. Evaluation configuration.
* SWE-bench Verified / Multilingual / Pro, KAT-Code-Bench: agent=claude_code@2.1.195, pass@k=1, temperature=1.0, top_p=0.95, 256k ctx.
* Terminal-Bench 2.1: agent=terminus-2 / claude_code, pass@k=1, temperature=0.7, top_p=1.0, 256k ctx.
* PinchBench: agent=openclaw@2026.3.13, pass@k=1, temperature=0.7, top_p=1.0, 256k ctx.
* Scicode: pass@k=1, temperature=0.6, top_p=1.0, 256k ctx.
3. Anomaly description.
* Qwen3.6-35BA3B: We found that on the SWE-bench Verified, SWE-bench Multilingual, and SWE-bench Pro test sets, our test results this time have an approximate 10 pp gap compared with the official results. We believe this is mainly caused by the harness version and some optimizations made to the test sets by the Qwen team, and it should not be an issue with the model itself.
* Qwen3.5-35BA3B: We observed frequent hallucinations during evaluation, including attempts to invoke the unavailable MultiEdit tool under the current agent environment, which negatively impacts the final metric.
* Gemma4-26B-A4B-it: Two main factors degrade evaluation performance: context overflow (exceeding the 256k context limit) and hallucinated calls to the unsupported MultiEdit tool in this evaluation setup.
The above deviations arise from mismatches between model tool preference and the allowed toolset in the evaluation harness, rather than inherent capability limitations of the models.
Post-training
To provide a systematic overview of our team's work on data and algorithms, we adopt the widely recognized Qwen3.6-35B-A3B as the base model for post-training and build KAT-Coder-V2.5-Dev on top of it. Overall, KAT-Coder-V2.5-Dev largely follows the post-training recipe of KAT-V2.5, with most settings—including data construction, training pipeline, and optimization strategy—remaining unchanged. The full pipeline consists of two stages: supervised fine-tuning (SFT) and reinforcement learning (RL). We first fine-tune Qwen3.6-35B-A3B on a dataset of 127K examples and then perform RL training on the resulting SFT model.
During the RL stage, we retain the training infrastructure and key technical designs validated in KAT-V2.5, including the following four components:
- Token-in-Token-out (TITO) consistency. We use TITO to ensure that the token sequences in the rollout and training stages are strictly identical, preventing training discrepancies caused by differences in chat templates, serialization, or tokenizer behavior.
- Truncated Importance Sampling (TIS). To mitigate policy staleness and off-policy issues introduced by asynchronous rollouts, we apply TIS to truncate importance-sampling weights, reducing the variance and instability caused by excessively large weights.
- Reliable sandboxes and verifiers. We systematically inspect and validate the stability and correctness of the sandboxes and verifiers. This helps prevent infrastructure failures—such as execution timeouts, environment errors, or verifier misjudgments—from being incorrectly treated as model failures and contaminating the reward signal.
- Hierarchical rewards based on harness execution feedback. We construct hierarchical rewards from fine-grained execution feedback provided by the harness. This allows the model to optimize toward the final task objective while also receiving credit for meaningful progress in unsuccessful trajectories, thereby increasing the training value of failed attempts and providing denser reward signals.
However, Qwen3.6 exhibits trajectory patterns that differ from those observed in KAT-V2.5, requiring additional reward adaptations tailored to its behavior. In our initial experiments, a simple binary 0–1 reward caused model collapse as early as the second epoch. An analysis of the training trajectories revealed that, as training progressed, the model increasingly tended to issue a large number of parallel tool calls within a single turn—occasionally exceeding 70 calls. This behavior caused the context length to grow rapidly, generated a substantial number of invalid trajectories and execution errors, and ultimately destabilized RL training.
To address this issue, we augmented the original hierarchical reward with several Qwen3.6-specific penalties targeting (including but not limited to the following):
- Excessive parallel tool calls within a single turn;
- Failed tool calls;
- Empty tool-call blocks; and
- Large amounts of repeated content.
These targeted reward adjustments effectively suppressed pathological tool-use and repetitive-generation behaviors, enabling stable RL training for 10 epochs. Our experiments validate the effectiveness and feasibility of both the overall training pipeline and the Qwen3.6-specific reward design.
The proportion of samples that pass the unit test (1 for pass, 0 for fail) within a batch of samples during RL training.
Quickstart
For streamlined integration, we recommend using KAT-Coder-V2.5-Dev via APIs. Below is a guide to use KAT-Coder-V2.5-Dev via OpenAI-compatible API.
Serving KAT-Coder-V2.5-Dev
KAT-Coder-V2.5-Dev can be served via APIs with popular inference frameworks. In the following, we show example commands to launch OpenAI-Compatible API servers for KAT-Coder-V2.5-Dev model.
SGLang
SGLang is a fast serving framework for large language models and vision language models. sglang>=0.5.10 is recommended for KAT-Coder-V2.5-Dev, which can be installed using the following command in a fresh environment:
uv pip install sglang[all]
The following will create API endpoints at http://localhost:8000/v1:
Note: This open-weight release ships only the language-model weights (no vision tower). If your SGLang version attempts to build the multimodal/vision components at load time, startup may fail on missing vision weights; in that case, run with the version's text/language-model-only option (see
python -m sglang.launch_server --help).
- Standard Version: The following command can be used to create an API endpoint with maximum context length 262,144 tokens using tensor parallel on 8 GPUs.
python -m sglang.launch_server \ --model-path Kwaipilot/KAT-Coder-V2.5-Dev \ --port 8000 \ --tp-size 8 \ --mem-fraction-static 0.8 \ --context-length 262144 \ --reasoning-parser qwen3 - Tool Use: To support tool use, you can use the following command.
python -m sglang.launch_server \ --model-path Kwaipilot/KAT-Coder-V2.5-Dev \ --port 8000 \ --tp-size 8 \ --mem-fraction-static 0.8 \ --context-length 262144 \ --reasoning-parser qwen3 \ --tool-call-parser qwen3_coder
vLLM
vLLM is a high-throughput and memory-efficient inference and serving engine for LLMs. vllm>=0.19.0 is recommended for KAT-Coder-V2.5-Dev, which can be installed using the following command in a fresh environment:
uv pip install vllm --torch-backend=auto
The following will create API endpoints at http://localhost:8000/v1:
Note: This open-weight release ships only the language-model weights, so the
--language-model-onlyflag is required. It tells vLLM to skip the vision encoder and multimodal profiling; without it, vLLM attempts to initialize vision-tower weights that are not present in the checkpoint and startup fails.
- Standard Version: The following command can be used to create an API endpoint with maximum context length 262,144 tokens using tensor parallel on 8 GPUs.
vllm serve Kwaipilot/KAT-Coder-V2.5-Dev \ --port 8000 \ --tensor-parallel-size 8 \ --max-model-len 262144 \ --reasoning-parser qwen3 \ --language-model-only - Tool Call: To support tool use, you can use the following command.
vllm serve Kwaipilot/KAT-Coder-V2.5-Dev \ --port 8000 \ --tensor-parallel-size 8 \ --max-model-len 262144 \ --reasoning-parser qwen3 \ --enable-auto-tool-choice \ --tool-call-parser qwen3_coder \ --language-model-only
KTransformers
KTransformers is a flexible framework for experiencing cutting-edge LLM inference optimizations with CPU-GPU heterogeneous computing. For running KAT-Coder-V2.5-Dev with KTransformers, see the KTransformers Deployment Guide.
Hugging Face Transformers
Hugging Face Transformers contains a lightweight server which can be used for quick testing and moderate load deployment. The latest transformers is required for KAT-Coder-V2.5-Dev. Installing accelerate is also required for multi-GPU (sharded) loading:
pip install "transformers[serving]" accelerate
Then, run transformers serve to launch a server with API endpoints at http://localhost:8000/v1; it will place the model on accelerators if available:
transformers serve Kwaipilot/KAT-Coder-V2.5-Dev --port 8000
Using KAT-Coder-V2.5-Dev via the Chat Completions API
The chat completions API is accessible via standard HTTP requests or OpenAI SDKs. Here, we show examples using the OpenAI Python SDK.
Before starting, make sure it is installed and the API key and the API base URL is configured, e.g.:
pip install -U openai
# Set the following accordingly
export OPENAI_BASE_URL="http://localhost:8000/v1"
export OPENAI_API_KEY="EMPTY"
Text-Only Input
from openai import OpenAI
# Configured by environment variables
client = OpenAI()
messages = [
{"role": "user", "content": "Type \"I love KAT-Coder-V2.5-Dev\" backwards"},
]
chat_response = client.chat.completions.create(
model="Kwaipilot/KAT-Coder-V2.5-Dev",
messages=messages,
max_tokens=81920,
temperature=1.0,
top_p=0.95,
presence_penalty=1.5,
extra_body={
"top_k": 20,
},
)
print("Chat response:", chat_response)
Instruct (or Non-Thinking) Mode
KAT-Coder-V2.5-Dev will think by default before response. You can obtain direct response from the model without thinking by configuring the API parameters. For example,
from openai import OpenAI
# Configured by environment variables
client = OpenAI()
messages = [
{"role": "user", "content": "Write a Python function that returns the n-th Fibonacci number."},
]
chat_response = client.chat.completions.create(
model="Kwaipilot/KAT-Coder-V2.5-Dev",
messages=messages,
max_tokens=32768,
temperature=0.7,
top_p=0.8,
presence_penalty=1.5,
extra_body={
"top_k": 20,
"chat_template_kwargs": {"enable_thinking": False},
},
)
print("Chat response:", chat_response)
Preserve Thinking
By default, only the thinking blocks generated in handling the latest user message is retained, resulting in a pattern commonly as interleaved thinking. KAT-Coder-V2.5-Dev has been additionally trained to preserve and leverage thinking traces from historical messages. You can enable this behavior by setting the preserve_thinking option:
from openai import OpenAI
# Configured by environment variables
client = OpenAI()
messages = [...]
chat_response = client.chat.completions.create(
model="Kwaipilot/KAT-Coder-V2.5-Dev",
messages=messages,
max_tokens=32768,
temperature=0.7,
top_p=0.8,
presence_penalty=1.5,
extra_body={
"top_k": 20,
"chat_template_kwargs": {"preserve_thinking": True},
},
)
print("Chat response:", chat_response)
This capability is particularly beneficial for agent scenarios, where maintaining full reasoning context can enhance decision consistency and, in many cases, reduce overall token consumption by minimizing redundant reasoning. Additionally, it can improve KV cache utilization, optimizing inference efficiency in both thinking and non-thinking modes.
Processing Ultra-Long Texts
KAT-Coder-V2.5-Dev natively supports context lengths of up to 262,144 tokens. For long-horizon tasks where the total length (including both input and output) exceeds this limit, we recommend using RoPE scaling techniques to handle long texts effectively, e.g., YaRN.
YaRN is currently supported by several inference frameworks, e.g., transformers, vllm, ktransformers and sglang. In general, there are two approaches to enabling YaRN for supported frameworks:
Modifying the model configuration file: In the config.json file, change the rope_parameters fields in text_config to:
{ "mrope_interleaved": true, "mrope_section": [ 11, 11, 10 ], "rope_type": "yarn", "rope_theta": 10000000, "partial_rotary_factor": 0.25, "factor": 4.0, "original_max_position_embeddings": 262144 }Passing command line arguments:
For vllm, you can use
VLLM_ALLOW_LONG_MAX_MODEL_LEN=1 vllm serve ... --hf-overrides '{"text_config": {"rope_parameters": {"mrope_interleaved": true, "mrope_section": [11, 11, 10], "rope_type": "yarn", "rope_theta": 10000000, "partial_rotary_factor": 0.25, "factor": 4.0, "original_max_position_embeddings": 262144}}}' --max-model-len 1010000For sglang and ktransformers, you can use
SGLANG_ALLOW_OVERWRITE_LONGER_CONTEXT_LEN=1 python -m sglang.launch_server ... --json-model-override-args '{"text_config": {"rope_parameters": {"mrope_interleaved": true, "mrope_section": [11, 11, 10], "rope_type": "yarn", "rope_theta": 10000000, "partial_rotary_factor": 0.25, "factor": 4.0, "original_max_position_embeddings": 262144}}}' --context-length 1010000
Citation
If you find our work helpful, feel free to give us a cite.
@misc{katcoder_v25_2026,
title={{KAT-Coder-V2.5 Technical Report}},
author={{KwaiKAT Team}},
year={2026},
month={July},
eprint={2607.05471},
archivePrefix={arXiv},
primaryClass={cs.AI},
url={https://arxiv.org/pdf/2607.05471}
}
- Downloads last month
- 609
3-bit
4-bit
Model tree for offmonreal/KAT-Coder-V2.5-Dev-MaxQuality-iMatrix-GGUF
Base model
Kwaipilot/KAT-Coder-V2.5-Dev