Instructions to use hermitdave/K2-Horizon-MoVA-36B-A4B-oQ4e with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- MLX
How to use hermitdave/K2-Horizon-MoVA-36B-A4B-oQ4e 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("hermitdave/K2-Horizon-MoVA-36B-A4B-oQ4e") 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 hermitdave/K2-Horizon-MoVA-36B-A4B-oQ4e with Pi:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "hermitdave/K2-Horizon-MoVA-36B-A4B-oQ4e"
Configure the model in Pi
# Install Pi: npm install -g @earendil-works/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "mlx-lm": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "hermitdave/K2-Horizon-MoVA-36B-A4B-oQ4e" } ] } } }Run Pi
# Start Pi in your project directory: pi
- MLX LM
How to use hermitdave/K2-Horizon-MoVA-36B-A4B-oQ4e with MLX LM:
Generate or start a chat session
# Install MLX LM uv tool install mlx-lm # Interactive chat REPL mlx_lm.chat --model "hermitdave/K2-Horizon-MoVA-36B-A4B-oQ4e"
Run an OpenAI-compatible server
# Install MLX LM uv tool install mlx-lm # Start the server mlx_lm.server --model "hermitdave/K2-Horizon-MoVA-36B-A4B-oQ4e" # Calling the OpenAI-compatible server with curl curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "hermitdave/K2-Horizon-MoVA-36B-A4B-oQ4e", "messages": [ {"role": "user", "content": "Hello"} ] }' - Hermes Agent
How to use hermitdave/K2-Horizon-MoVA-36B-A4B-oQ4e 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 "hermitdave/K2-Horizon-MoVA-36B-A4B-oQ4e"
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 hermitdave/K2-Horizon-MoVA-36B-A4B-oQ4e
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use hermitdave/K2-Horizon-MoVA-36B-A4B-oQ4e with OpenClaw:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "hermitdave/K2-Horizon-MoVA-36B-A4B-oQ4e"
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 "hermitdave/K2-Horizon-MoVA-36B-A4B-oQ4e" \ --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"
K2-Horizon-MoVA-36B-A4B oQ4e
oQ4e (imatrix-enhanced mixed-precision 4-bit) conversion of IFM/K2-Horizon-MoVA-36B-A4B, a sparse Mixture-of-Experts model with Mixture-of-Values attention (36B total / 4B active parameters, 512K context).
Upstream model: IFM/K2-Horizon-MoVA-36B-A4B by the IFM Team, released under Apache-2.0.
Conversion: Quantized to MLX format using Hermes Agent with mlx-lm and oMLX.
Quickstart
pip install -U mlx-lm
python3 -m mlx_lm.generate \
--model hermitdave/K2-Horizon-MoVA-36B-A4B-oQ4e \
--prompt "Explain why long-context evaluation is difficult." \
--max-tokens 512 --temp 1.0 --top-p 0.95
Reasoning
K2-Horizon is a reasoning model. Always use reasoning_effort="high" for best results:
from openai import OpenAI
client = OpenAI(base_url="http://localhost:8000/v1", api_key="EMPTY")
response = client.chat.completions.create(
model="hermitdave/K2-Horizon-MoVA-36B-A4B-oQ4e",
messages=[{"role": "user", "content": "Explain quantum entanglement."}],
extra_body={"chat_template_kwargs": {"reasoning_effort": "high"}},
)
print("Reasoning:", getattr(response.choices[0].message, "reasoning_content", None))
print("Answer:", response.choices[0].message.content)
Benchmark Results
Leaderboard Benchmarks
| Benchmark | K2-Horizon-MoVA-36B-A4B |
|---|---|
| tau3-Banking (Agentic tool use) | 26.8 |
| Terminal-Bench 2.1 (Agentic terminal use) | 58.6 |
| GPQA Diamond (Graduate-level science QA) | 80.8 |
| AA-LCR (Long-context reasoning) | 66.3 |
Scores in %. See model card for full results.
Head-to-Head Comparison vs Qwen 3.6 35B A3B
Independent benchmark comparison — raw scores collected via BenchLocal, report compiled by Hermes Agent. See full report.
| Benchmark | K2 Score | Qwen Score | Delta | Winner |
|---|---|---|---|---|
| Bugfix / Coding | 76 | 73 | +3 | K2 |
| Information Extraction | 90 | 84 | +6 | K2 |
| Formatting & Structured Output | 93 | 92 | +1 | K2 |
| Prompt Authority / Safety | 80 | 60 | +20 | K2 |
| Reasoning & Maths | 78 | 80 | -2 | Qwen |
| Structured Output | 95 | 87 | +8 | K2 |
| Tool Call Performance | 93 | 63 | +30 | K2 |
| Hermes Agent Capabilities | 54 | 48 | +6 | K2 |
| Average | 82.4 | 73.4 | +9.0 | K2 |
K2 wins 7/8 benchmarks. Dominates extraction, formatting, tool calling, and safety. Qwen wins only Reasoning & Maths by 2 points.
Throughput Comparison (oMLX)
| Metric | K2 Horizon 36B A4B | Qwen 3.6 35B A3B | Delta |
|---|---|---|---|
| TG TPS (single stream) | 48.1 | 88.4 | +84% Qwen |
| TTFT (ms) | 6,300 | 2,371 | -62% Qwen |
| TPOT (ms) | 20.9 | 11.4 | -46% Qwen |
| Peak Memory (GB) | 22.0 | 21.9 | Tie |
Qwen is ~1.8x faster due to 3B active parameters (vs 4B) + MTP (multi-token prediction). K2 trades throughput for quality.
Verdict by Dimension
| Dimension | Winner | Notes |
|---|---|---|
| Quality | K2 Horizon | Wins 7/8 benchmarks, +9.0 avg |
| Throughput | Qwen 3.6 | ~1.8x faster single-stream and batch |
| Safety | K2 Horizon | 0 harmful violations vs 1 |
| Agentic Use | K2 Horizon | Tool call: 93 vs 63, Error recovery: 100 vs 33 |
| Multimodal | Qwen 3.6 | Native text + image + video |
| Long Context | Draw | Qwen 1M (ext.) vs K2 512K native |
Bottom line: For local agent pipelines where tool reliability and structured output matter: K2 Horizon. For high-volume batch inference where throughput dominates: Qwen 3.6.
oMLX Patch
K2-Horizon requires oMLX v0.6.4+ with the K2-Horizon support patch (PR #3441). This patch adds:
k2_horizonmodel type support- Reasoning content handling (
<ifm|think>tags) - Tool call parsing (plain text and XML formats)
- Multi-turn conversation support
Without this patch, oMLX will refuse to load K2-Horizon models with ValueError: Model type k2_horizon not supported.
Chat Template
K2-Horizon uses IFM's custom chat template with reasoning and tool calling support. Key tags:
| Tag | Purpose |
|---|---|
<ifm|think>, <ifm|think_fast>, <ifm|think_faster> |
Thinking blocks |
| `<|ifm|im_start | >, <|ifm|im_end|>` |
<ifm|tool_call>, <ifm|arg_key>, <ifm|arg_value> |
Tool call structure |
All tags are automatically stripped by oMLX before responses reach users.
Citation
@misc{k2horizon2026,
title = {Introducing K2 Horizon: Frontier Performance, Radically Open},
author = {{IFM Team}},
year = {2026},
url = {https://ifm.ai/blog/k2/},
}
License
Apache-2.0 (same as upstream).
- Downloads last month
- 445
4-bit
Model tree for hermitdave/K2-Horizon-MoVA-36B-A4B-oQ4e
Base model
IFM/K2-Horizon-MoVA-36B-A4B