Instructions to use romanerm/flint-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 romanerm/flint-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 romanerm/flint-GGUF:Q4_K_M # Run inference directly in the terminal: llama cli -hf romanerm/flint-GGUF:Q4_K_M
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf romanerm/flint-GGUF:Q4_K_M # Run inference directly in the terminal: llama cli -hf romanerm/flint-GGUF:Q4_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 romanerm/flint-GGUF:Q4_K_M # Run inference directly in the terminal: ./llama-cli -hf romanerm/flint-GGUF:Q4_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 romanerm/flint-GGUF:Q4_K_M # Run inference directly in the terminal: ./build/bin/llama-cli -hf romanerm/flint-GGUF:Q4_K_M
Use Docker
docker model run hf.co/romanerm/flint-GGUF:Q4_K_M
- LM Studio
- Jan
- vLLM
How to use romanerm/flint-GGUF with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "romanerm/flint-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": "romanerm/flint-GGUF", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/romanerm/flint-GGUF:Q4_K_M
- Ollama
How to use romanerm/flint-GGUF with Ollama:
ollama run hf.co/romanerm/flint-GGUF:Q4_K_M
- Unsloth Desktop
- Pi
How to use romanerm/flint-GGUF with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf romanerm/flint-GGUF:Q4_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": "romanerm/flint-GGUF:Q4_K_M" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Docker Model Runner
How to use romanerm/flint-GGUF with Docker Model Runner:
docker model run hf.co/romanerm/flint-GGUF:Q4_K_M
- Lemonade
How to use romanerm/flint-GGUF with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull romanerm/flint-GGUF:Q4_K_M
Run and chat with the model
lemonade run user.flint-GGUF-Q4_K_M
List all available models
lemonade list
- Hermes Agent
How to use romanerm/flint-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 romanerm/flint-GGUF:Q4_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 romanerm/flint-GGUF:Q4_K_M
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use romanerm/flint-GGUF with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf romanerm/flint-GGUF:Q4_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 "romanerm/flint-GGUF:Q4_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"
Flint โ GGUF (IQ4_XS / IQ4_NL / Q4_K_M, imatrix)
Quantized GGUFs of RecursiveSI/flint โ Recursive's 39.8B mixture-of-experts coding-agent model (~2.5B active parameters per token, 256 routed experts, 49 layers, 262k context).
All three types were produced from the same BF16 checkpoint with a single shared importance matrix, and evaluated on the same text with the same chunking, so the numbers below are directly comparable to each other.
Files
| File | Type | Size | BPW | Notes |
|---|---|---|---|---|
flint-IQ4_XS.gguf |
IQ4_XS | 21.28 GB (19.81 GiB) | 4.25 | smallest; 24 GB cards with partial offload |
flint-IQ4_NL.gguf |
IQ4_NL | 22.51 GB (20.96 GiB) | 4.50 | fastest generation of the three |
flint-Q4_K_M.gguf |
Q4_K_M | 24.12 GB (22.46 GiB) | 4.85 | best quality of the three |
flint.imatrix.gguf |
importance matrix | 430 MB | โ | reuse it to make your own quants |
All files are single-file GGUF with tokenizer, chat template and original metadata embedded. For reference: the BF16 base checkpoint is 79.5 GB (16.0 BPW).
Quality: perplexity and KL-divergence
Reference text: WikiText-2 raw test split, 64 chunks ร 512 tokens = 32,768 scored tokens,
context 512, llama.cpp b11815. Base log-probabilities were saved once from the BF16 checkpoint
(--save-all-logits) and every quant was measured against them (--kl-divergence), so BF16 and all
quants share identical tokens and chunking.
| Model | Mean PPL | ฮPPL vs BF16 | Mean KLD | Median KLD | Same top-p |
|---|---|---|---|---|---|
| BF16 (base) | 21.0072 ยฑ 0.6319 | โ | โ | โ | 100 % |
| Q4_K_M | 22.5250 ยฑ 0.7028 | +7.22 % | 0.2585 ยฑ 0.0067 | โ | 81.38 ยฑ 0.31 % |
| IQ4_NL | 23.5211 ยฑ 0.7461 | +11.97 % | 0.3291 ยฑ 0.0070 | 0.1149 | 78.19 ยฑ 0.32 % |
| IQ4_XS | 23.7839 ยฑ 0.7558 | +13.22 % | 0.3442 ยฑ 0.0070 | โ | 78.03 ยฑ 0.32 % |
Additional details for the two files where the full distribution was recorded:
| Metric | IQ4_NL | IQ4_XS |
|---|---|---|
| ln(PPL(Q)/PPL(base)) | 0.1130 ยฑ 0.0095 | 0.1184 ยฑ 0.0110 |
| 90th percentile KLD | 0.7003 | โ |
| 99th percentile KLD | 3.6939 | โ |
| 99.9th percentile KLD | 11.6462 | โ |
| RMS ฮp | 13.32 ยฑ 0.20 % | โ |
| Mean ฮp | โ0.597 ยฑ 0.104 % | โ |
How to read it:
- Q4_K_M is clearly the best of the three here: 7.2 % perplexity overhead and the highest same-top-p agreement, at +2.8 GB over IQ4_XS.
- IQ4_NL and IQ4_XS are within noise of each other on this evaluation (ฮ mean KLD 0.015, ฮ PPL 0.26 against per-chunk CIs of ยฑ0.7). IQ4_XS is smaller (21.3 vs 22.5 GB) and quantizes the same checkpoint with a different block structure (256 with 6-bit scales vs 32 with one scale), but on this 32k-token budget it did not come out ahead. Do not read the ordering as a property of the formats in general.
- For all types the KL is concentrated in the tail: median KLD is 0.11 while the 99.9th percentile reaches 11.6 โ most tokens are essentially unaffected, a small set of high-surprise tokens diverges.
- The evaluation budget is modest (32k tokens, single run). Second decimal of the mean and percentiles beyond the 99.9th are noisy.
Speed
llama-bench, AMD Radeon AI PRO R9700 (gfx1201, 32 GB), ROCm, full offload (-ngl 99), -t 16,
3 repetitions:
| Type | pp512 (tok/s) | tg128 (tok/s) |
|---|---|---|
| IQ4_XS | 4812.02 ยฑ 246.57 | 95.79 ยฑ 1.64 |
| IQ4_NL | 4733.75 ยฑ 224.47 | 99.70 ยฑ 1.42 |
| Q4_K_M | 4450.02 ยฑ 184.71 | 97.79 ยฑ 1.76 |
Prompt processing and generation differ by only a few percent between the three โ pick on size/quality, not speed.
Which file should I take?
- Q4_K_M โ default choice. Fits a 32 GB card with short-to-medium context, best measured quality.
- IQ4_NL โ if you need to shave ~1.6 GB and want the fastest generation; quality is close to IQ4_XS, speed slightly ahead.
- IQ4_XS โ smallest 4-bit file; the best pick when memory is the hard constraint (24 GB cards with partial offload, or tight unified-memory devices).
Requirements
llama.cpp build b11815 or newer is required. The
flintarchitecture landed upstream in October 2026 (commita37cc46104). Older builds fail withunknown model architecture: 'flint'.
- llama.cpp
b11815+(ROCm, CUDA, Vulkan, Metal or CPU) - VRAM: ~21โ24 GB of weights; full offload needs a 32 GB card at short context, 24 GB cards need
-ngltuning - The model's documented context is 262,144 tokens (prompt + output); KV cache grows accordingly
Usage
# single prompt
llama-cli -m flint-Q4_K_M.gguf -ngl 99 -c 32768 -t 16 \
--temp 1.0 --top-p 0.95 --top-k 20
# OpenAI-compatible server
llama-server -m flint-Q4_K_M.gguf \
--host 127.0.0.1 --port 8080 \
--ctx-size 32768 --n-gpu-layers 99 --threads 16 \
--temp 1.0 --top-p 0.95 --top-k 20 --jinja
from openai import OpenAI
client = OpenAI(base_url="http://127.0.0.1:8080/v1", api_key="unused")
r = client.chat.completions.create(
model="flint-Q4_K_M.gguf",
messages=[{"role": "user", "content": "Write a Go function that reverses a UTF-8 string."}],
max_tokens=32768,
)
print(r.choices[0].message.content)
Sampling (from the base model card)
| Setting | Value |
|---|---|
| Temperature | 1.0 |
| Top-p / top-k | 0.95 / 20 |
| Output budget for hard problems | at least 32,768 tokens, including reasoning |
Flint is a reasoning model: it emits a <think> block before the answer. Preserve the reasoning
content in multi-turn history and give it a generous output budget, otherwise generation can stop
mid-reasoning.
Quantization details
| Parameter | Value |
|---|---|
| Base checkpoint | RecursiveSI/flint BF16, 3 shards, 79.5 GB |
| Quantizer | llama.cpp b11815, llama-quantize --imatrix |
| Threads | 16 (quantization is CPU-side in llama.cpp; there is no GPU GGUF quantizer) |
| Time per type | ~12โ13 min |
| Importance matrix | 64 chunks ร 512 tokens, -ngl 16, 531 entries, 430 MB |
| Calibration corpus | 15.9 MB (~4.4M tokens): Go source after gofmt / golangci-lint fmt, plus agent-harness documentation |
| Calibration PPL | 4.2659 |
The imatrix is used by all three quantizers in current llama.cpp (quantize_iq4_nl,
quantize_iq4_xs and the K-quant functions take per-channel weights), so the same file improves
every type listed here.
Rare routed experts receive only partial coverage
(save_imatrix: entry 'blk.*.ffn_*_exps.weight' has partial data (99.2โ99.6%)). That is expected for
a 256-expert MoE with a 32k-token calibration set and does not prevent the file from being useful.
Reproducing
# importance matrix (llama.cpp b11815+)
llama-imatrix -m flint-BF16-00001-of-00003.gguf -f corpus.txt -o flint.imatrix.gguf \
-c 512 -ngl 16 -t 32 --chunks 64
# any of the three quant types
llama-quantize --imatrix flint.imatrix.gguf flint-BF16-00001-of-00003.gguf \
flint-Q4_K_M.gguf Q4_K_M 16
# evaluation: save base logits once, then measure each quant against them
llama-perplexity -m flint-BF16-00001-of-00003.gguf -f wiki.test.raw \
-c 512 --chunks 64 --save-all-logits wikitext-bf16.logits -ngl 16 -t 16
llama-perplexity -m flint-Q4_K_M.gguf -f wiki.test.raw \
-c 512 --chunks 64 --kl-divergence --kl-divergence-base wikitext-bf16.logits -ngl 99 -t 16
Evaluation runs must share -f, -c and --chunks โ the logits file stores the token stream and
the run aborts if it does not match.
Notes and caveats
llama-cli/llama-completionecho the prompt and continue generation; the model starts with<think>, so a small-nreturns reasoning only.- These are plain single-type quants. No per-tensor or per-layer type mixing was applied beyond what
llama-quantizedoes by default (e.g.Q4_K_Mkeeps some tensors at higher precision,IQ4_NL/IQ4_XSpromote a few tensors to Q5_K/Q6_K). - Quantized on Windows with a ROCm build of llama.cpp; the GGUF files themselves are platform-independent.
- Agentic benchmarks (Terminal-Bench, SWE-bench) were not re-run on these files โ only perplexity, KL-divergence and throughput.
Limitations
Inherited from RecursiveSI/flint: the model can produce incorrect or harmful content, buggy code and unsafe tool calls. Test generated code and review consequential changes before applying them. Tool-using applications must enforce their own permission and execution boundaries. Quantization adds approximation on top of the base model's behaviour; the effect is largest on rare experts and high-surprise tokens, so validate the specific file on your own workload before deploying it.
License and attribution
- Base model: RecursiveSI/flint by Recursive โ Apache 2.0.
- These quantizations: distributed under the same Apache 2.0 license with attribution to the original authors. Architecture support, training data and evaluation methodology belong to Recursive; this repository only provides GGUF conversions.
- Downloads last month
- -
4-bit
Model tree for romanerm/flint-GGUF
Base model
RecursiveSI/flint