Skip to content
Local Model Selection

Local Model SelectionSkill

Added to Onei
Apache-2.0
Repository Docs

Summary

Choose and run the right local model with llama.cpp and GGUF — quantisation, hardware fit, and local serving.

Features

  • URL-first Hub discovery using apps=llama.cpp and ?local-app=llama.cpp
  • Exact GGUF filename lookup through the models tree API
  • Quant selection table: Q4_K_M default, Q5_K_M/Q6_K for code, IQ/UD variants when tight
  • Keeps repo-native quant labels such as UD-Q4_K_M intact
  • llama-cli and llama-server launch recipes, plus --hf-repo/--hf-file fallback
  • Conversion path via convert_hf_to_gguf.py and llama-quantize when no GGUF exists
  • OpenAI-compatible /v1/chat/completions smoke test
  • Build and acceleration notes for Metal, CUDA, ROCm and CPU

Install This Skill

Add this skill to your favorite AI agent in a few steps.

Any AI agent

This skill is plain instructions — it works with any assistant that accepts custom instructions or system prompts.

  1. Copy the skill content with the button below.
  2. Paste it into your agent's instruction file or system prompt (for example AGENTS.md, .cursorrules, or a custom instructions field).
  3. Ask the agent to apply the skill whenever the task matches.

Skill Content

Markdown Content

Copy this content and use it with your preferred AI agent

---
name: huggingface-local-models
description: "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."
---

# 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

```bash
brew install llama.cpp
winget install llama.cpp
```

```bash
git clone https://github.com/ggml-org/llama.cpp
cd llama.cpp
make
```

### Authenticate for gated repos

```bash
hf auth login
```

### Search the Hub

```text
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

```bash
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

```bash
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

```bash
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

```bash
llama-server -hf unsloth/Qwen3.6-35B-A3B-GGUF:UD-Q4_K_M
```

```bash
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](references/hub-discovery.md) for URL-first workflows, model search, tree API extraction, and command reconstruction.
- Read [quantization.md](references/quantization.md) for format tables, model scaling, quality tradeoffs, and `imatrix`.
- Read [hardware.md](references/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`

Usage Instructions

Learn how to use this skill with different AI agents.

Claude Desktop

Install the Hugging Face marketplace once, then add this skill with the hf CLI:

/plugin marketplace add huggingface/skills
/plugin install hf-cli@huggingface/skills
hf skills add huggingface-local-models

Description

A short, practical skill for the specific job of getting a model off the Hugging Face Hub and running on your own machine through llama.cpp. It gives the agent a URL-first workflow: search the Hub with apps=llama.cpp, open the repo with ?local-app=llama.cpp to read Hugging Face's own compatibility snippet and quant recommendation, confirm the exact .gguf filenames against the tree API, then launch with llama-cli -hf <repo>:<QUANT> or llama-server -hf <repo>:<QUANT>.

The quantisation guidance is the part worth having written down. Default to Q4_K_M; prefer Q5_K_M or Q6_K for code and technical workloads when memory allows; drop to Q3_K_M, Q4_K_S or repo-specific IQ / UD-* variants under tight RAM or VRAM budgets. It also tells the agent to keep repo-native labels such as UD-Q4_K_M intact rather than normalising them — a small rule that prevents a lot of "file not found" — and to treat mmproj-*.gguf as projector weights rather than the main checkpoint.

Fallbacks are covered in the right order: --hf-repo plus --hf-file when a repo uses custom naming, and conversion with convert_hf_to_gguf.py followed by llama-quantize only when the repo publishes no GGUF at all. It finishes with a smoke test against llama-server's OpenAI-compatible /v1/chat/completions endpoint, plus hf auth login for gated repos and build notes for Metal, CUDA, ROCm and plain CPU.

Install

Related Skills

Skill: claude-mem

by thedotmack

Featured

Persistent cross-session memory for coding agents: hooks capture each session, a local SQLite + vector store compresses it, and a mem-search skill reads it back.

Skill: Transformers.js

by Hugging Face

Run machine learning models directly in the browser or Node with Transformers.js — no inference server required.

Featured

Build Gradio web UIs and ML demos in Python with the current API — components, layouts, events, and chat interfaces.

Browse all skills →