Skill

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.

Works with huggingfacellama.cppopenai

84
Spark score
out of 100
Updated 23 days ago
Version 1.0.0

Add to Favorites

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

01

Search Hugging Face Hub for llama.cpp-compatible GGUF repositories and select optimal quantization levels

02

Launch local inference servers with llama-cli or llama-server using direct Hub references

03

Verify exact GGUF filenames via the Hugging Face API and handle custom file naming patterns

04

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

  1. Search the Hub with apps=llama.cpp.
  2. Open https://huggingface.co/<repo>?local-app=llama.cpp.
  3. Prefer the exact HF local-app snippet and quant recommendation when it is visible.
  4. Confirm exact .gguf filenames with https://huggingface.co/api/models/<repo>/tree/main?recursive=true.
  5. Launch with llama-cli -hf <repo>:<QUANT> or llama-server -hf <repo>:<QUANT>.
  6. Fall back to --hf-repo plus --hf-file when the repo uses custom file naming.
  7. 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.cpp page.
  • Keep repo-native labels such as UD-Q4_K_M instead of normalizing them.
  • Default to Q4_K_M unless the repo page or hardware profile suggests otherwise.
  • Prefer Q5_K_M or Q6_K for code or technical workloads when memory allows.
  • Consider Q3_K_M, Q4_K_S, or repo-specific IQ / UD-* variants for tighter RAM or VRAM budgets.
  • Treat mmproj-*.gguf files 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.