35 Downloads Updated 2 weeks ago
ollama run snoop2head/EXAONE-4.5-33B
LG AI Research’s EXAONE-4.5-33B, the first open-weight vision-language model from LG AI Research, ported whole from the original Hugging Face weights and packaged for Ollama.
This package provides both capabilities of the original model: text and vision. It ships LG’s
language model and LG’s official vision encoder/projector, so the model reads images, documents,
charts and screenshots directly — no separate captioning model, no mmproj to hunt down. GGUF
packagings that carry only the language tower reject pictures with “image input is not supported…
you may need to provide the mmproj”. This one does not:
Capabilities
completion
vision
tools
thinking
ollama pull snoop2head/EXAONE-4.5-33B # ~37 GB
# text
ollama run snoop2head/EXAONE-4.5-33B "확산 모델과 플로우 매칭의 차이를 설명해줘."
# vision — just put the path in the prompt
ollama run snoop2head/EXAONE-4.5-33B "Transcribe every number in this table. ./invoice.png"
Text and image in one API call:
curl http://localhost:11434/api/chat -d '{
"model": "snoop2head/EXAONE-4.5-33B",
"messages": [{
"role": "user",
"content": "What does this chart show, and what is the trend?",
"images": ["'"$(base64 < chart.png | tr -d '\n')"'"]
}],
"think": true,
"stream": false
}'
import ollama
ollama.chat(
model="snoop2head/EXAONE-4.5-33B",
messages=[{"role": "user", "content": "Describe this page.", "images": ["page.jpg"]}],
)
| Layer | Size | Contents |
|---|---|---|
EXAONE-4.5-33B-Q8_0.gguf |
35 GB | the language model — 64 transformer layers plus the multi-token-prediction head, Q8_0 |
mmproj-EXAONE-4.5-33B-BF16.gguf |
2.6 GB | the vision encoder and projector, 1.29B parameters, BF16 — not quantized |
| template | — | LG’s own chat template, embedded in the GGUF and used by Ollama as-is |
| params | — | LG’s recommended sampling (below) |
| license | 13 KB | EXAONE AI Model License Agreement 1.2 - NC |
Converted from
LGAI-EXAONE/EXAONE-4.5-33B
(revision 570aa4b1, 68.7 GB of safetensors) with llama.cpp’s convert_hf_to_gguf.py and
llama-quantize. The result was checked against LG’s own artifacts: the Q8_0 weights are
tensor-for-tensor identical to LG’s official EXAONE-4.5-33B-Q8_0.gguf (all 723 tensors,
including the MTP head), the projector is identical to LG’s official mmproj-EXAONE-4.5-33B-BF16.gguf,
and llama.cpp tokenizes Korean, English, code and the special tokens exactly like the Hugging Face
tokenizer.
From LG’s model card:
Reasoning is on by default. LG’s template exposes both modes; Ollama drives them for you:
ollama run snoop2head/EXAONE-4.5-33B
>>> /set nothink # low-latency answers
>>> /set think # back to reasoning mode (default)
Over the API, "think": false on the request maps to the template’s enable_thinking=False.
Tool use works through Ollama’s tools parameter: the model emits hermes-style <tool_call>
JSON and Ollama parses it into message.tool_calls. LG reports τ²-Bench scores in the 56-78 range
for agentic tool use, and the model is designed for MCP-style function calling.
Context is 262,144 tokens as trained. The packaged default is num_ctx 32768 so the model loads
comfortably; raise it as far as your memory allows:
ollama run snoop2head/EXAONE-4.5-33B
>>> /set parameter num_ctx 131072
Pictures are priced in tokens: roughly one token per 28×28 patch, so a 1000×1000 image costs about 1,300 tokens, a 1600×1025 screenshot about 2,100, and a full-resolution photo up to ~4,100 — resize before sending if latency matters.
The packaged defaults are LG’s general-purpose recommendation:
temperature 1.0 · top_p 0.95 · top_k 0 · presence_penalty 1.5 · repeat_penalty 1.0
num_ctx 32768 · stop <|endofturn|>
For OCR, document understanding and Korean prompts LG recommends temperature 0.6, top_p 0.95,
top_k 20, presence_penalty 1.5. For text-only chat, temperature 1.0 and top_p 0.95 are enough.
The model prefers to answer in \boxed{} form on math problems.
LG’s reported scores for EXAONE 4.5 33B in reasoning mode (the full tables, with GPT-5 mini, Qwen3-VL and Qwen3.5 comparisons, are on the model card):
| Vision-language | Language-only | ||
|---|---|---|---|
| MMMU | 78.7 | AIME 2025 | 92.9 |
| MMMU-Pro | 68.6 | AIME 2026 | 92.6 |
| MathVision | 75.2 | GPQA-Diamond | 80.5 |
| MathVista (mini) | 85.0 | LiveCodeBench v6 | 81.4 |
| AI2D | 89.0 | MMLU-Pro | 83.3 |
| CharXiv (RQ) | 71.7 | IFEval | 89.6 |
| OmniDocBench v1.5 | 81.2 | τ²-Bench (Retail) | 77.9 |
| KMMMU (Korean) | 42.7 | KMMLU-Pro (Korean) | 67.6 |
| KRETA (Korean) | 91.9 | KoBALT (Korean) | 52.1 |
These are LG’s numbers for the original weights. This package is Q8_0, which is the highest-fidelity practical quantization and matches LG’s own Q8_0 release bit for bit; the vision tower is BF16.
LG’s chat template — the one embedded in the GGUF and used verbatim by Ollama — silently drops a
system message when it is the first message of the conversation. Measured with prompt_eval_count:
a 184-token system prompt sent as messages[0] adds 0 tokens to the rendered prompt, while the
same text at any later index adds all 184. Your persona, your format rules, your “answer in one
sentence” never reach the model, and nothing reports an error.
The cause is the template’s first-message branch, which ends in {%- continue %} (Jinja’s
loopcontrols extension). Ollama 0.33’s Jinja engine does not honour it and discards everything
that loop iteration emitted. This is not specific to this package — the template here is
byte-identical to the one in LG’s own GGUF release, so every EXAONE 4.5 GGUF served through
Ollama/llama.cpp is affected; transformers and vLLM render the same template correctly.
Until the template is fixed, put your instructions somewhere the template does render:
// works — instructions folded into the user turn
"messages": [
{"role": "user", "content": "You are Aria, a cheerful librarian.\n\nWhat should I read next?"}
]
// also works — a system message at any index except 0
"messages": [
{"role": "user", "content": "Hi"},
{"role": "system", "content": "You are Aria, a cheerful librarian."},
{"role": "user", "content": "What should I read next?"}
]
"options": {"draft_num_predict": 3} to a text-only request to use it (~80% acceptance). It is
not enabled in the Modelfile because Ollama 0.33’s llama-server fails with “failed to process
speculative batch” as soon as an image is in the prompt, and on Apple silicon it is currently
slower than plain decoding.ollama show --license snoop2head/EXAONE-4.5-33B).All weights are LG AI Research’s. This package only converts and repackages them; nothing was retrained, merged or distilled.
@article{exaone-4.5,
title={EXAONE 4.5 Technical Report},
author={{LG AI Research}},
journal={arXiv preprint arXiv:2604.08644},
year={2026}
}