Generated banner for Huggingface Local Models
Generated logo for Huggingface Local Models

Huggingface Local Models

Hugging FaceOfficialPublished by Hugging Face

  • Skill
  • Tool integration
  • Software development
  • Apache-2.0
  • Low risk

From the author

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.
— the description by Hugging Face

AutoGineer summary

Written by AutoGineer from the skill’s own files, not by the author

This skill provides a structured approach to running LLMs locally on CPU, Apple Silicon, or GPU using llama.cpp. It covers the end-to-end process of finding compatible GGUF models on the Hugging Face Hub, selecting the appropriate quantization for your hardware, and launching models via llama-cli or llama-server. It emphasizes using Hugging Face's native local-app discovery tools and API endpoints to ensure accurate model selection and configuration.

What it does

  • Searches the Hugging Face Hub for llama.cpp-compatible GGUF repositories.
  • Extracts quantization recommendations and hardware compatibility data from Hugging Face.
  • Verifies exact model filenames using the Hugging Face tree API.
  • Provides commands for launching models via llama-cli and llama-server.
  • Offers guidance on converting non-GGUF models to the GGUF format.
  • Includes instructions for setting up local OpenAI-compatible API servers.

When to use it

  • When you need to run an LLM locally on your own hardware.
  • When you are unsure which quantization level is appropriate for your available RAM or VRAM.
  • When you need to serve a local model via an OpenAI-compatible API endpoint.
  • When you have a model in Transformers format and need to convert it to GGUF for llama.cpp.

Advantages

  • Leverages official Hugging Face discovery tools for reliable model selection.
  • Supports multiple hardware backends including CPU, Metal, CUDA, and ROCm.
  • Provides clear workflows for both quick-start and custom file-specific configurations.
  • Reduces ambiguity in quantization selection by prioritizing repo-native labels.

Usage examples

“How do I run the Qwen3.6-35B model locally using llama.cpp?”
The agent will guide you to the appropriate Hugging Face repo, help you select the correct GGUF quantization, and provide the exact llama-server command to launch it.
“I have a model repo without GGUF files. How can I convert it?”
The agent will provide the steps to download the model, use the conversion script to create an f16 GGUF file, and then quantize it to your desired format.

Install

  1. Download the skill as a ZIP:

    https://mp-staging.autogineer.com/agent-skills/huggingface/huggingface-local-models/download
  2. Unzip it into the cross-client skills folder of your project:

    mkdir -p .agents/skills && unzip huggingface-local-models.zip -d .agents/skills

Documentation by Hugging Face

Hugging Face Local Models

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

Files

references/quantization.md

GGUF Quantization Guide

Complete guide to GGUF quantization formats and model conversion.

Contents

  • Hub-first quant selection

  • Quantization Formats

  • Converting Models

  • K-Quantization Methods

  • Quality Testing

  • Use Case Guide

  • Model Size Scaling

  • Finding Pre-Quantized Models

  • Importance Matrices (imatrix)

  • Troubleshooting

Hub-first quant selection

Before using generic tables, open the model repo with:

https://huggingface.co/<repo>?local-app=llama.cpp

Prefer the exact quant labels and sizes shown in the Hardware compatibility section of the fetched ?local-app=llama.cpp page text or HTML. Then confirm the matching filenames in:

https://huggingface.co/api/models/<repo>/tree/main?recursive=true

Use the Hub page first, and only fall back to the generic heuristics below when the repo page does not expose a clear recommendation.

Quantization Formats

GGUF (GPT-Generated Unified Format) - Standard format for llama.cpp models.

Format Comparison
FormatPerplexitySize (7B)Tokens/secNotes
FP165.9565 (baseline)13.0 GB15 tok/sOriginal quality
Q8_05.9584 (+0.03%)7.0 GB25 tok/sNearly lossless
Q6_K5.9642 (+0.13%)5.5 GB30 tok/sBest quality/size
Q5_K_M5.9796 (+0.39%)4.8 GB35 tok/sBalanced
Q4_K_M6.0565 (+1.68%)4.1 GB40 tok/sRecommended
Q4_K_S6.1125 (+2.62%)3.9 GB42 tok/sFaster, lower quality
Q3_K_M6.3184 (+6.07%)3.3 GB45 tok/sSmall models only
Q2_K6.8673 (+15.3%)2.7 GB50 tok/sNot recommended

Recommendation: Use Q4_K_M for best balance of quality and speed.

Converting Models

Hugging Face to GGUF
# 1. Download Hugging Face model
hf download meta-llama/Llama-2-7b-chat-hf \
    --local-dir models/llama-2-7b-chat/

# 2. Convert to FP16 GGUF
python convert_hf_to_gguf.py \
    models/llama-2-7b-chat/ \
    --outtype f16 \
    --outfile models/llama-2-7b-chat-f16.gguf

# 3. Quantize to Q4_K_M
./llama-quantize \
    models/llama-2-7b-chat-f16.gguf \
    models/llama-2-7b-chat-Q4_K_M.gguf \
    Q4_K_M
Batch quantization
# Quantize to multiple formats
for quant in Q4_K_M Q5_K_M Q6_K Q8_0; do
    ./llama-quantize \
        model-f16.gguf \
        model-${quant}.gguf \
        $quant
done

K-Quantization Methods

K-quants use mixed precision for better quality:

  • Attention weights: Higher precision

  • Feed-forward weights: Lower precision

Variants:

  • _S (Small): Faster, lower quality

  • _M (Medium): Balanced (recommended)

  • _L (Large): Better quality, larger size

Example: Q4_K_M

  • Q4: 4-bit quantization

  • K: Mixed precision method

  • M: Medium quality

Quality Testing

# Calculate perplexity (quality metric)
./llama-perplexity \
    -m model.gguf \
    -f wikitext-2-raw/wiki.test.raw \
    -c 512

# Lower perplexity = better quality
# Baseline (FP16): ~5.96
# Q4_K_M: ~6.06 (+1.7%)
# Q2_K: ~6.87 (+15.3% - too much degradation)

Use Case Guide

General purpose (chatbots, assistants)
Q4_K_M - Best balance
Q5_K_M - If you have extra RAM
Code generation
Q5_K_M or Q6_K - Higher precision helps with code
Creative writing
Q4_K_M - Sufficient quality
Q3_K_M - Acceptable for draft generation
Technical/medical
Q6_K or Q8_0 - Maximum accuracy
Edge devices (Raspberry Pi)
Q2_K or Q3_K_S - Fit in limited RAM

Model Size Scaling

7B parameter models
FormatSizeRAM needed
Q2_K2.7 GB5 GB
Q3_K_M3.3 GB6 GB
Q4_K_M4.1 GB7 GB
Q5_K_M4.8 GB8 GB
Q6_K5.5 GB9 GB
Q8_07.0 GB11 GB
13B parameter models
FormatSizeRAM needed
Q2_K5.1 GB8 GB
Q3_K_M6.2 GB10 GB
Q4_K_M7.9 GB12 GB
Q5_K_M9.2 GB14 GB
Q6_K10.7 GB16 GB
70B parameter models
FormatSizeRAM needed
Q2_K26 GB32 GB
Q3_K_M32 GB40 GB
Q4_K_M41 GB48 GB
Q4_K_S39 GB46 GB
Q5_K_M48 GB56 GB

Recommendation for 70B: Use Q3_K_M or Q4_K_S to fit in consumer hardware.

Finding Pre-Quantized Models

Use the Hub search with the llama.cpp app filter:

https://huggingface.co/models?apps=llama.cpp&sort=trending
https://huggingface.co/models?search=<term>&apps=llama.cpp&sort=trending
https://huggingface.co/models?search=<term>&apps=llama.cpp&num_parameters=min:0,max:24B&sort=trending

For a specific repo, open:

https://huggingface.co/<repo>?local-app=llama.cpp
https://huggingface.co/api/models/<repo>/tree/main?recursive=true

Then launch directly from the Hub without extra Hub tooling:

llama-cli -hf <repo>:Q4_K_M
llama-server -hf <repo>:Q4_K_M

If you need the exact file name from the tree API:

llama-server --hf-repo <repo> --hf-file <filename.gguf>

Importance Matrices (imatrix)

What: Calibration data to improve quantization quality.

Benefits:

  • 10-20% perplexity improvement with Q4

  • Essential for Q3 and below

Usage:

# 1. Generate importance matrix
./llama-imatrix \
    -m model-f16.gguf \
    -f calibration-data.txt \
    -o model.imatrix

# 2. Quantize with imatrix
./llama-quantize \
    --imatrix model.imatrix \
    model-f16.gguf \
    model-Q4_K_M.gguf \
    Q4_K_M

Calibration data:

  • Use domain-specific text (e.g., code for code models)

  • ~100MB of representative text

  • Higher quality data = better quantization

Troubleshooting

Model outputs gibberish:

  • Quantization too aggressive (Q2_K)

  • Try Q4_K_M or Q5_K_M

  • Verify model converted correctly

Out of memory:

  • Use lower quantization (Q4_K_S instead of Q5_K_M)

  • Offload fewer layers to GPU (-ngl)

  • Use smaller context (-c 2048)

Slow inference:

  • Higher quantization uses more compute

  • Q8_0 much slower than Q4_K_M

  • Consider speed vs quality trade-off

Requirements and compatibility

Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta

“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.

Needs: Needs network access, Needs a command-line tool, Needs Python

Security

What our scanner noticed· Low risk

  • Instructions that use the network

A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.

Attribution and licence

Published by
Hugging Face
Publisher
Hugging Face (Official)
Source
huggingface/skills · skills/huggingface-local-models · commit 25910b3
Licence
Apache License 2.0 (redistribution allowed)
  • LICENSE (added by AutoGineer from LICENSE)
  • ATTRIBUTION.md (written by AutoGineer)
Synced

AutoGineer is not affiliated with or endorsed by Hugging Face.

Download ZIP

The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download huggingface-local-models.zip