Run Ministral 3 14B Instruct text chat on a 32 GiB Intel desktop
Serve the exact Ministral 3 14B Instruct 2512 Unsloth Q4_K_M derivative with pinned native Mistral chat formatting. Four CPU threads, one sequence, 4,096 total context tokens and a 512-token output cap. Authenticated loopback; documented only. Full memory fit, speed and text quality remain unmeasured.
- Hardware
- Intel Core i5-12400 desktop, 4 inference threads, 32 GiB RAM
- Runtime
- llama.cpp v0.7.0 (620d2225cc436ab0b001e3200e590e3b286ef9ab) · CPU
- Model format
- GGUF · GGUF Q4_K_M mixed quantization; vision projector not loaded · Q4_K_M post-training GGUF derivative published by Unsloth
- Workload
- 4,096 token context · 1 concurrent
Based on source documentation; this setup has not been executed by OpenTools. Memory: unknown. No compatible measurement available.
Read the complete setup guide
Before you start
- Use an owned Intel Core i5-12400 desktop with Ubuntu 24.04 x86_64, 32 GiB installed RAM and 40 GiB free disk. Allocate four inference threads and build natively on the same host.
- These resources are author allocations, not measured minimums or a full-fit guarantee. Exact process RAM, setup disk needs, speed and quality remain unknown.
- Read the explicit Apache-2.0 grant in the pinned Mistral model card, its linked official license and Unsloth base/license metadata. This GGUF is published by Unsloth, not Mistral AI.
- This is the Instruct 2512 variant. Do not substitute Base, Reasoning, a different size or a similarly named older Ministral model.
- This bounded recipe accepts text only and downloads no projector or image fixture. The model family can read images, but that capability requires the separate image configuration.
Exact model and requirements
- Artifact:
- Unsloth (GGUF derivative); Mistral AI (native Instruct model) / Ministral 3 14B Instruct 2512 Q4_K_M, Unsloth derivative · checkpoint unsloth/Ministral-3-14B-Instruct-2512-GGUF
- Publisher revision:
- 9b948841b705cc11285ff274b84ba6c885908b19
- Artifact digest:
- sha256:76ce697c065f2e40f1e8e958118b02cab38e2c10a6015f7d7908036a292dc8c8
- Download size:
- 7.67 GiB
- Memory requirement (unknown):
- Unknown — No exact CPU process peak for this pinned text configuration.
- System RAM / disk:
- Unknown / Unknown
- Placement:
- single device. One CPU host; no tensor or pipeline sharding. CPU-only language model; --device none and zero GPU layers.
- KV cache:
- F16 attention K/V cache, explicitly configured; exact process memory and cache bytes not measured.
- Workload:
- 4,096 token context; Unknown; Unknown; concurrency 1; batch 1; cache unknown; repetitions Unknown.
- Tokenizer:
- Exact Ministral 3 14B Instruct GGUF tokenizer plus native pinned Mistral Jinja template · 9b948841b705cc11285ff274b84ba6c885908b19; native template 29439f81c2be264d8d393273f99e7db9c0961120
- Sampling / reasoning:
- Publisher recommends temperature below 0.1. This author selects greedy temperature 0, top_k 0, top_p 1, min_p 0, presence_penalty 0 and repeat_penalty 1; these remaining values are author controls, not a publisher preset. Validation max_tokens 512. Native Instruct variant, distinct from Reasoning and Base. No Qwen thinking flags or templates. Explicit concise system message limits the request to supplied evidence; no tools or generated reasoning trace is requested.
- Runtime prerequisites:
- Ubuntu 24.04 x86_64; See prerequisites above.
Mistral AI explicitly licenses the native Instruct model under Apache License 2.0 in its pinned model card and metadata, which link this license text. Unsloth declares Apache-2.0 and explicitly names that base. The native repository has no separate root LICENSE file at this revision (404); the explicit model-card grant and linked official Apache text establish the source. Read the license and retain required copyright, license, attribution and modification notices when redistributing covered work. No provider inference API subscription is required for public self-host downloads.
- ministral-chat-template.jinja · 0 GiB · revision 29439f81c2be264d8d393273f99e7db9c0961120
- The 8,239,067,840-byte language file does not establish working RAM. Attention cache, compute buffers, runtime, OS and setup files add requirements.
- Four CPU threads and 32 GiB RAM / 40 GiB disk are planning allocations. No measured fit, latency, throughput or quantization-quality claim is made.
One-time setup and hardware
- hardware
- Unknown — Existing desktop purchase price and incremental hardware cost depend on the reader; unknown.
- Existing desktop purchase price and incremental hardware cost depend on the reader; unknown. Tax: unknown.
- setup
- Unknown — Initial provisioning/build time and labor cost are unknown.
- Initial provisioning/build time and labor cost are unknown. Tax: unknown.
Recurring costs
- electricity
- Unknown — Actual wall power, electricity rate and powered hours are unknown; no TDP-to-wall-power conversion.
- Actual wall power, electricity rate and powered hours are unknown; no TDP-to-wall-power conversion. Tax: unknown.
- storage
- Unknown — Incremental cost of local disk capacity is unknown. The 40 GiB free-disk walkthrough allocation is an author choice, not a measured requirement.
- Incremental cost of local disk capacity is unknown. The 40 GiB free-disk walkthrough allocation is an author choice, not a measured requirement. Tax: unknown.
- egress
- Unknown — Data transfer price, allowances and traffic volume are unknown.
- Data transfer price, allowances and traffic volume are unknown. Tax: unknown.
- administration
- Unknown — Maintenance labor rate and hours are unknown.
- Maintenance labor rate and hours are unknown. Tax: unknown.
Install the runtime
1. Build the exact CPU runtime
Install host build dependencies and compile the pinned official source. No CUDA driver is required. Build and run natively on this same CPU; save resolved package/tool versions and build logs during actual execution.
Commandsudo apt-get update sudo apt-get install -y build-essential cmake git curl ca-certificates openssl python3 mkdir -p "$HOME/ministral3-14b-text-hosting/models" cd "$HOME/ministral3-14b-text-hosting" git clone https://github.com/ggml-org/llama.cpp.git git -C llama.cpp checkout --detach 620d2225cc436ab0b001e3200e590e3b286ef9ab cmake -S llama.cpp -B llama.cpp/build -DCMAKE_BUILD_TYPE=Release -DGGML_METAL=OFF -DGGML_NATIVE=ON cmake --build llama.cpp/build --config Release -j 4 ./llama.cpp/build/bin/llama-server --versionExpected result: Checkout and build succeed; server version identifies the pinned source. Stop on failure. No inference has been executed by the author.
Download the model
1. Download language weights and native template
Use immutable separate native/quantizer revisions and verify both SHA-256 values. Stop on either mismatch.
Commandcd "$HOME/ministral3-14b-text-hosting" curl --fail --location --output models/Ministral-3-14B-Instruct-2512-Q4_K_M.gguf 'https://huggingface.co/unsloth/Ministral-3-14B-Instruct-2512-GGUF/resolve/9b948841b705cc11285ff274b84ba6c885908b19/Ministral-3-14B-Instruct-2512-Q4_K_M.gguf' curl --fail --location --output models/ministral-chat-template.jinja 'https://huggingface.co/mistralai/Ministral-3-14B-Instruct-2512/raw/29439f81c2be264d8d393273f99e7db9c0961120/chat_template.jinja' sha256sum --check <<'SHA256' 76ce697c065f2e40f1e8e958118b02cab38e2c10a6015f7d7908036a292dc8c8 models/Ministral-3-14B-Instruct-2512-Q4_K_M.gguf 2f545122222db8bb43ca0ea0c49e9185320a8670f7d35575b0da0eb48b1e8970 models/ministral-chat-template.jinja SHA256Expected result: Both files report OK. Language artifact 8,239,067,840 bytes; native template 11,913 bytes.
Configure
1. Create a private service credential
Generate a local server password on your own host when following this guide. Preserve an existing key on repeat setup and never print or share it. This is not an OpenAI or Mistral API key.
Commandcd "$HOME/ministral3-14b-text-hosting" umask 077 if [ ! -e .api-key ]; then openssl rand -hex 32 > .api-key fi test -s .api-key || { echo 'Restore the empty service-key file before continuing.'; exit 1; } chmod 600 .api-keyExpected result: A nonempty private .api-key exists with mode 600. Existing key preserved; no secret printed.
Start the model
1. Start one authenticated CPU sequence
Run in the foreground. Native Instruct chat template is explicitly pinned; no enable_thinking flag is used. One request slot and 4,096 total context tokens include prompt and output. Reserve 512 tokens for output and keep the supplied text short. No projector is loaded. Additional context or concurrency creates a different configuration.
Commandcd "$HOME/ministral3-14b-text-hosting" export MINISTRAL14B_SERVICE_KEY="$(cat .api-key)" ./llama.cpp/build/bin/llama-server -m models/Ministral-3-14B-Instruct-2512-Q4_K_M.gguf --alias ministral3-14b --host 127.0.0.1 --port 8080 --api-key "$MINISTRAL14B_SERVICE_KEY" --device none -ngl 0 -t 4 -c 4096 -np 1 --cache-type-k f16 --cache-type-v f16 --jinja --chat-template-file models/ministral-chat-template.jinja --skip-chat-parsing --reasoning-format none --temp 0 --top-k 0 --top-p 1 --min-p 0 --presence-penalty 0 --repeat-penalty 1Expected result: Model loads and loopback listener starts. Stop on architecture, template or projector errors. Local/privileged users may see process arguments; use a trusted host.
Connect to your endpoint
http://127.0.0.1:8080/v1
Same host loopback only. Run the client on this trusted desktop.
Access: loopback. Private reader-generated service key in Authorization: Bearer for chat and /props. /health is public on loopback. Trusted host required; this is not a provider API key.
Verify the setup
1. Verify readiness, authenticated text and unauthorized rejection
Use a second terminal on the same host, or inside the VM SSH shell. Health is public on loopback. Inspect summary facts and finish_reason; wording is not prescribed.
Commandcd "$HOME/ministral3-14b-text-hosting" export MINISTRAL14B_SERVICE_KEY="$(cat .api-key)" curl --fail http://127.0.0.1:8080/health curl --fail http://127.0.0.1:8080/v1/chat/completions -H "Authorization: Bearer $MINISTRAL14B_SERVICE_KEY" -H 'Content-Type: application/json' --data-binary '{"model":"ministral3-14b","messages":[{"role":"system","content":"Answer using only the supplied evidence. Do not invent facts or use tools."},{"role":"user","content":"Summarize only this supplied passage in one sentence: The community library opens at 9am on weekdays and closes at 6pm. On Saturday it opens at 10am and closes at 4pm. It is closed on Sunday."}],"max_tokens":512,"temperature":0,"top_k":0,"top_p":1,"min_p":0,"presence_penalty":0,"repeat_penalty":1}' curl -s -o /dev/null -w '%{http_code}\n' http://127.0.0.1:8080/v1/chat/completions -H 'Content-Type: application/json' --data-binary '{"model":"ministral3-14b","messages":[{"role":"user","content":"Hello"}]}'Expected result: Ready health returns HTTP 200. Authenticated response has nonempty choices[0].message.content with accurate weekday/Saturday hours and Sunday closure; finish_reason is not length. Request without the key returns HTTP 401. Wrong facts or failed access checks fail this smoke test.
Performance evidence
No compatible measurement available. Documented support and estimated memory do not establish response speed.
Limits and troubleshooting
- Documented configuration only. No build, weights, model inference, memory fit, speed or quality measurement was executed by the author.
- Instruct 2512 is a specific native variant. Its dense 40-layer text architecture uses Mistral/Ministral YaRN and attention-temperature metadata; the exact runtime supports that branch. No Qwen hybrid-state formula, reasoning switch or sampler is transferred.
- The publisher advertises 262,144 context positions. This guide configures only 4,096 total prompt/output tokens and one slot; 512 is an output cap, not a measured length.
- Greedy temperature zero satisfies the model-card below-0.1 guidance. Other decoding controls are author choices; no exact response or full-precision equivalence is promised.
- The native Instruct instructions support images and explicitly exclude audio/video. This guide does not validate tools, structured-output schemas, audio, video or long-context behavior.
- Package/build dependencies resolve at install time. Preserve exact source checkout, resolved versions and build logs with any future execution evidence.
- Loopback plus a service key does not protect against privileged local users. Shared/public serving requires separate access/TLS/operations design.
- Checksum, architecture or template failure
- Stop. Confirm exact model/quantizer/template revisions and file hashes, native CPU source commit and Instruct variant. Do not substitute Base/Reasoning or an older generic runtime.
- Out of memory or context overflow
- Stop the server, free/provision resources or shorten input/output. Record any new context, batch or hardware configuration. Allocated capacity does not guarantee fit; do not suppress overflow.
- Connection refused or HTTP 401
- Check foreground logs, loopback port and matching private service key. For cloud, confirm the SSH tunnel targets the correct VM. Keep port 8080 closed to public ingress.
- Wrong text summary
- Inspect the supplied evidence and response. Keep source passage and output bounded; wrong facts fail validation. This text recipe has no vision projector.
Stop the model
1. Stop the server
Press Ctrl+C in the foreground server terminal. Close any client SSH tunnel with Ctrl+C and unset the key in each shell.
Commandunset MINISTRAL14B_SERVICE_KEYExpected result: The intended localhost:8080 endpoint stops serving; cloud compute still bills until its lifecycle is stopped/terminated.
Uninstall
1. Remove dedicated walkthrough files
Back up wanted requests/results and logs. Confirm this path before removing only its dedicated model/build/key folder; shared apt packages remain.
Commandrm -r -- "$HOME/ministral3-14b-text-hosting"Expected result: Dedicated model, template, build, request and service-key files are removed. Shared system dependencies remain.
Sources and verification
Sources checked Oct 16, 2026. Verification source
- https://huggingface.co/api/models/mistralai/Ministral-3-14B-Instruct-2512publisher · retrieved Oct 16, 2026
- https://huggingface.co/api/models/unsloth/Ministral-3-14B-Instruct-2512-GGUFpublisher · retrieved Oct 16, 2026
- https://huggingface.co/mistralai/Ministral-3-14B-Instruct-2512/raw/29439f81c2be264d8d393273f99e7db9c0961120/README.mdpublisher · retrieved Oct 16, 2026 · revision 29439f81c2be264d8d393273f99e7db9c0961120
- https://huggingface.co/mistralai/Ministral-3-14B-Instruct-2512/raw/29439f81c2be264d8d393273f99e7db9c0961120/config.jsonpublisher · retrieved Oct 16, 2026 · revision 29439f81c2be264d8d393273f99e7db9c0961120
- https://huggingface.co/mistralai/Ministral-3-14B-Instruct-2512/raw/29439f81c2be264d8d393273f99e7db9c0961120/chat_template.jinjapublisher · retrieved Oct 16, 2026 · revision 29439f81c2be264d8d393273f99e7db9c0961120
- https://huggingface.co/mistralai/Ministral-3-14B-Instruct-2512/raw/29439f81c2be264d8d393273f99e7db9c0961120/processor_config.jsonpublisher · retrieved Oct 16, 2026 · revision 29439f81c2be264d8d393273f99e7db9c0961120
- https://huggingface.co/api/models/mistralai/Ministral-3-14B-Instruct-2512/tree/29439f81c2be264d8d393273f99e7db9c0961120?recursive=false&expand=falsepublisher · retrieved Oct 16, 2026 · revision 29439f81c2be264d8d393273f99e7db9c0961120
- https://huggingface.co/unsloth/Ministral-3-14B-Instruct-2512-GGUF/raw/9b948841b705cc11285ff274b84ba6c885908b19/README.mdpublisher · retrieved Oct 16, 2026 · revision 9b948841b705cc11285ff274b84ba6c885908b19
- https://huggingface.co/api/models/unsloth/Ministral-3-14B-Instruct-2512-GGUF/tree/9b948841b705cc11285ff274b84ba6c885908b19?recursive=false&expand=falsepublisher · retrieved Oct 16, 2026 · revision 9b948841b705cc11285ff274b84ba6c885908b19
- https://raw.githubusercontent.com/ggml-org/llama.cpp/620d2225cc436ab0b001e3200e590e3b286ef9ab/conversion/mistral3.pyruntime maintainer · retrieved Oct 16, 2026 · revision 620d2225cc436ab0b001e3200e590e3b286ef9ab
- https://raw.githubusercontent.com/ggml-org/llama.cpp/620d2225cc436ab0b001e3200e590e3b286ef9ab/conversion/pixtral.pyruntime maintainer · retrieved Oct 16, 2026 · revision 620d2225cc436ab0b001e3200e590e3b286ef9ab
- https://raw.githubusercontent.com/ggml-org/llama.cpp/620d2225cc436ab0b001e3200e590e3b286ef9ab/src/models/mistral3.cppruntime maintainer · retrieved Oct 16, 2026 · revision 620d2225cc436ab0b001e3200e590e3b286ef9ab
- https://raw.githubusercontent.com/ggml-org/llama.cpp/620d2225cc436ab0b001e3200e590e3b286ef9ab/tools/mtmd/models/pixtral.cppruntime maintainer · retrieved Oct 16, 2026 · revision 620d2225cc436ab0b001e3200e590e3b286ef9ab
- https://www.apache.org/licenses/LICENSE-2.0.txtpublisher · retrieved Oct 16, 2026
- https://huggingface.co/mistralai/Ministral-3-14B-Instruct-2512/raw/29439f81c2be264d8d393273f99e7db9c0961120/generation_config.jsonpublisher · retrieved Oct 16, 2026 · revision 29439f81c2be264d8d393273f99e7db9c0961120
- https://huggingface.co/mistralai/Ministral-3-14B-Instruct-2512/raw/29439f81c2be264d8d393273f99e7db9c0961120/SYSTEM_PROMPT.txtpublisher · retrieved Oct 16, 2026 · revision 29439f81c2be264d8d393273f99e7db9c0961120
- https://huggingface.co/mistralai/Ministral-3-14B-Instruct-2512/raw/29439f81c2be264d8d393273f99e7db9c0961120/params.jsonpublisher · retrieved Oct 16, 2026 · revision 29439f81c2be264d8d393273f99e7db9c0961120
- https://raw.githubusercontent.com/ggml-org/llama.cpp/620d2225cc436ab0b001e3200e590e3b286ef9ab/conversion/llava.pyruntime maintainer · retrieved Oct 16, 2026 · revision 620d2225cc436ab0b001e3200e590e3b286ef9ab
- https://raw.githubusercontent.com/ggml-org/llama.cpp/620d2225cc436ab0b001e3200e590e3b286ef9ab/conversion/base.pyruntime maintainer · retrieved Oct 16, 2026 · revision 620d2225cc436ab0b001e3200e590e3b286ef9ab
- https://raw.githubusercontent.com/ggml-org/llama.cpp/620d2225cc436ab0b001e3200e590e3b286ef9ab/common/parsers/ministral3.cppruntime maintainer · retrieved Oct 16, 2026 · revision 620d2225cc436ab0b001e3200e590e3b286ef9ab
- https://docs.mistral.ai/models/ministral-3-14b-25-12publisher · retrieved Oct 16, 2026
- https://raw.githubusercontent.com/ggml-org/llama.cpp/620d2225cc436ab0b001e3200e590e3b286ef9ab/tools/mtmd/clip.cppruntime maintainer · retrieved Oct 16, 2026 · revision 620d2225cc436ab0b001e3200e590e3b286ef9ab
- https://raw.githubusercontent.com/ggml-org/llama.cpp/620d2225cc436ab0b001e3200e590e3b286ef9ab/tools/mtmd/mtmd.cppruntime maintainer · retrieved Oct 16, 2026 · revision 620d2225cc436ab0b001e3200e590e3b286ef9ab
- https://raw.githubusercontent.com/ggml-org/llama.cpp/620d2225cc436ab0b001e3200e590e3b286ef9ab/tools/server/README.mdruntime maintainer · retrieved Oct 16, 2026 · revision 620d2225cc436ab0b001e3200e590e3b286ef9ab
- https://raw.githubusercontent.com/ggml-org/llama.cpp/620d2225cc436ab0b001e3200e590e3b286ef9ab/common/arg.cppruntime maintainer · retrieved Oct 16, 2026 · revision 620d2225cc436ab0b001e3200e590e3b286ef9ab
- https://raw.githubusercontent.com/ggml-org/llama.cpp/620d2225cc436ab0b001e3200e590e3b286ef9ab/docs/multimodal.mdruntime maintainer · retrieved Oct 16, 2026 · revision 620d2225cc436ab0b001e3200e590e3b286ef9ab
- https://raw.githubusercontent.com/ggml-org/llama.cpp/620d2225cc436ab0b001e3200e590e3b286ef9ab/ggml/src/ggml-cpu/ggml-cpu.cruntime maintainer · retrieved Oct 16, 2026
- https://www.intel.com/content/www/us/en/products/sku/134586/intel-core-i512400-processor-18m-cache-up-to-4-40-ghz/specifications.htmlmanufacturer · retrieved Oct 16, 2026
- https://raw.githubusercontent.com/ggml-org/llama.cpp/620d2225cc436ab0b001e3200e590e3b286ef9ab/ggml/src/ggml-cpu/CMakeLists.txtruntime maintainer · retrieved Oct 16, 2026 · revision 620d2225cc436ab0b001e3200e590e3b286ef9ab
- https://docs.liquid.ai/lfm/inference/llama-cppruntime maintainer · retrieved Oct 16, 2026
- https://raw.githubusercontent.com/ggml-org/llama.cpp/620d2225cc436ab0b001e3200e590e3b286ef9ab/docs/build.mdruntime maintainer · retrieved Oct 16, 2026 · revision 620d2225cc436ab0b001e3200e590e3b286ef9ab
- https://api.github.com/repos/ggml-org/llama.cpp/releases/latestruntime maintainer · retrieved Oct 16, 2026
- https://huggingface.co/api/models/Qwen/Qwen3.5-9Bpublisher · retrieved Oct 16, 2026
- https://huggingface.co/Qwen/Qwen3.5-9B/raw/c202236235762e1c871ad0ccb60c8ee5ba337b9a/README.mdpublisher · retrieved Oct 16, 2026 · revision c202236235762e1c871ad0ccb60c8ee5ba337b9a
- https://huggingface.co/Qwen/Qwen3.5-9B/raw/c202236235762e1c871ad0ccb60c8ee5ba337b9a/config.jsonpublisher · retrieved Oct 16, 2026 · revision c202236235762e1c871ad0ccb60c8ee5ba337b9a
- https://huggingface.co/Qwen/Qwen3.5-9B/raw/c202236235762e1c871ad0ccb60c8ee5ba337b9a/chat_template.jinjapublisher · retrieved Oct 16, 2026 · revision c202236235762e1c871ad0ccb60c8ee5ba337b9a
- https://huggingface.co/Qwen/Qwen3.5-9B/raw/c202236235762e1c871ad0ccb60c8ee5ba337b9a/LICENSEpublisher · retrieved Oct 16, 2026 · revision c202236235762e1c871ad0ccb60c8ee5ba337b9a
- https://huggingface.co/api/models/unsloth/Qwen3.5-9B-GGUFpublisher · retrieved Oct 16, 2026
- https://huggingface.co/unsloth/Qwen3.5-9B-GGUF/raw/3885219b6810b007914f3a7950a8d1b469d598a5/README.mdpublisher · retrieved Oct 16, 2026 · revision 3885219b6810b007914f3a7950a8d1b469d598a5
- https://huggingface.co/api/models/unsloth/Qwen3.5-9B-GGUF/tree/3885219b6810b007914f3a7950a8d1b469d598a5?recursive=false&expand=falsepublisher · retrieved Oct 16, 2026
- https://raw.githubusercontent.com/ggml-org/llama.cpp/620d2225cc436ab0b001e3200e590e3b286ef9ab/src/models/qwen35.cppruntime maintainer · retrieved Oct 16, 2026