Run local LLMs with llama.cpp and GGUF quantization
A skill for running Hugging Face models locally with llama.cpp and GGUF - finding quants, launching servers, converting weights.
Why it matters
Select, download, and serve quantized language models locally from Hugging Face using llama.cpp on CPU, Metal, CUDA, or ROCm hardware with OpenAI-compatible endpoints.
Outcomes
What it gets done
Search Hugging Face Hub for llama.cpp-compatible GGUF repositories and select optimal quantization levels
Launch local inference servers with llama-cli or llama-server using direct Hub references
Verify exact GGUF filenames via the Hugging Face API and handle custom file naming patterns
Convert Transformers weights to GGUF format when pre-quantized models are unavailable
Install
Add it to your toolbox
Run in your project directory:
curl -fsSL https://spark.entire.vc/get/ag-huggingface-local-models | bash Overview
Hugging Face Local Models
This skill selects and runs Hugging Face models locally with llama.cpp: finding compatible GGUF repos, choosing a quantization, launching an OpenAI-compatible server, and converting weights when needed. Use it when selecting a model to run locally with llama.cpp, choosing a quantization, or converting a model that lacks GGUF weights.
What it does
A skill for selecting and running Hugging Face Hub models locally with llama.cpp and GGUF on CPU, Mac Metal, CUDA, or ROCm - finding compatible GGUFs, choosing the right quant, running servers, looking up exact GGUF filenames, converting from Transformers weights, and OpenAI-compatible local serving. The default workflow: search the Hub filtered to apps=llama.cpp, open the repo's ?local-app=llama.cpp page and prefer its exact snippet and quant recommendation when shown, confirm exact .gguf filenames via the models tree API (/api/models/<repo>/tree/main?recursive=true), launch with llama-cli -hf <repo>:<QUANT> or llama-server -hf <repo>:<QUANT>, fall back to --hf-repo plus --hf-file when a repo uses custom file naming, and only convert from Transformers weights if the repo doesn't already expose GGUF files. Quick-start covers installing llama.cpp (brew, winget, or building from source), authenticating for gated repos via hf auth login, searching the Hub by URL with apps/search/num_parameters filters, running directly from the Hub or against an exact GGUF file with -c for context length, converting Transformers weights via convert_hf_to_gguf.py then quantizing with llama-quantize, and smoke-testing a running server with a curl request to its OpenAI-compatible /v1/chat/completions endpoint. Quant-choice guidance: prefer whatever quant HF marks compatible on the local-app page and keep repo-native labels (like UD-Q4_K_M) rather than normalizing them; default to Q4_K_M absent other signals; prefer Q5_K_M or Q6_K for code/technical workloads when memory allows; consider Q3_K_M, Q4_K_S, or repo-specific IQ/UD-* variants under tighter RAM/VRAM budgets; and treat mmproj-*.gguf files as projector weights, not the main model checkpoint. Deeper references are pointed to for hub-discovery workflows, quantization format tables and imatrix, and hardware-specific (Metal/CUDA/ROCm/CPU) build details.
When to use - and when NOT to
Use it when selecting a model to run locally with llama.cpp - finding a compatible GGUF repo, choosing a quantization, launching a local server, or converting a model that doesn't already have GGUF weights.
Inputs and outputs
Given a model name or task plus a hardware profile, it produces a Hub search URL, a recommended repo and quant string, and the exact llama-cli/llama-server command to launch it - or, if no GGUF exists, the convert_hf_to_gguf.py and llama-quantize commands to produce one.
Integrations
llama-server -hf unsloth/Qwen3.6-35B-A3B-GGUF:UD-Q4_K_M
Uses llama.cpp's llama-cli/llama-server/llama-quantize binaries, the Hugging Face Hub's local-app pages and tree API for GGUF discovery, and exposes an OpenAI-compatible /v1/chat/completions endpoint once a server is running.
Who it's for
Developers who want to run Hugging Face models locally via llama.cpp on their own CPU/GPU - finding the right GGUF repo and quantization for their hardware, launching an OpenAI-compatible local server, and converting a model to GGUF when one isn't already published.
Source README
Hugging Face Local Models
When to Use
Use this skill when you need use to select models to run locally with llama.cpp and GGUF on CPU, Mac Metal, CUDA, or ROCm. Covers finding GGUFs, quant selection, running servers, exact GGUF file lookup, conversion, and OpenAI-compatible local serving.
Search the Hugging Face Hub for llama.cpp-compatible GGUF repos, choose the right quant, and launch the model with llama-cli or llama-server.
Default Workflow
- Search the Hub with
apps=llama.cpp. - Open
https://huggingface.co/<repo>?local-app=llama.cpp. - Prefer the exact HF local-app snippet and quant recommendation when it is visible.
- Confirm exact
.gguffilenames withhttps://huggingface.co/api/models/<repo>/tree/main?recursive=true. - Launch with
llama-cli -hf <repo>:<QUANT>orllama-server -hf <repo>:<QUANT>. - Fall back to
--hf-repoplus--hf-filewhen the repo uses custom file naming. - Convert from Transformers weights only if the repo does not already expose GGUF files.
Quick Start
Install llama.cpp
brew install llama.cpp
winget install llama.cpp
git clone https://github.com/ggml-org/llama.cpp
cd llama.cpp
make
Authenticate for gated repos
hf auth login
Search the Hub
https://huggingface.co/models?apps=llama.cpp&sort=trending
https://huggingface.co/models?search=Qwen3.6&apps=llama.cpp&sort=trending
https://huggingface.co/models?search=<term>&apps=llama.cpp&num_parameters=min:0,max:24B&sort=trending
Run directly from the Hub
llama-cli -hf unsloth/Qwen3.6-35B-A3B-GGUF:UD-Q4_K_M
llama-server -hf unsloth/Qwen3.6-35B-A3B-GGUF:UD-Q4_K_M
Run an exact GGUF file
llama-server \
--hf-repo unsloth/Qwen3.6-35B-A3B-GGUF \
--hf-file Qwen3.6-35B-A3B-UD-Q4_K_M.gguf \
-c 4096
Convert only when no GGUF is available
hf download <repo-without-gguf> --local-dir ./model-src
python convert_hf_to_gguf.py ./model-src \
--outfile model-f16.gguf \
--outtype f16
llama-quantize model-f16.gguf model-q4_k_m.gguf Q4_K_M
Smoke test a local server
llama-server -hf unsloth/Qwen3.6-35B-A3B-GGUF:UD-Q4_K_M
curl http://localhost:8080/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer no-key" \
-d '{
"messages": [
{"role": "user", "content": "Write a limerick about exception handling"}
]
}'
Quant Choice
- Prefer the exact quant that HF marks as compatible on the
?local-app=llama.cpppage. - Keep repo-native labels such as
UD-Q4_K_Minstead of normalizing them. - Default to
Q4_K_Munless the repo page or hardware profile suggests otherwise. - Prefer
Q5_K_MorQ6_Kfor code or technical workloads when memory allows. - Consider
Q3_K_M,Q4_K_S, or repo-specificIQ/UD-*variants for tighter RAM or VRAM budgets. - Treat
mmproj-*.gguffiles as projector weights, not the main checkpoint.
Load References
- Read hub-discovery.md for URL-first workflows, model search, tree API extraction, and command reconstruction.
- Read quantization.md for format tables, model scaling, quality tradeoffs, and
imatrix. - Read hardware.md for Metal, CUDA, ROCm, or CPU build and acceleration details.
Resources
- llama.cpp:
https://github.com/ggml-org/llama.cpp - Hugging Face GGUF + llama.cpp docs:
https://huggingface.co/docs/hub/gguf-llamacpp - Hugging Face Local Apps docs:
https://huggingface.co/docs/hub/main/local-apps - Hugging Face Local Agents docs:
https://huggingface.co/docs/hub/agents-local - GGUF converter Space:
https://huggingface.co/spaces/ggml-org/gguf-my-repo
Limitations
- Use this skill only when the task clearly matches its upstream product or API scope.
- Verify commands, API behavior, pricing, quotas, credentials, and deployment effects against current official documentation before making changes.
- Do not treat generated examples as a substitute for environment-specific tests, security review, or user approval for destructive or costly actions.
FAQ
Common questions
Discussion
Questions & comments ยท 0
Sign In Sign in to leave a comment.