Llama Cpp logo

Llama Cpp

Community
AlexAI-MCP
llama-cpp

Run quantized LLMs locally with llama.cpp — CPU+GPU inference, GGUF format, OpenAI-compatible server, and Python bindings.

Overview

PublisherAlexAI-MCP
Repositoryhermes-CCC
Skill namellama-cpp
Stars
134
Forks
22
Bundled files
Instructions only
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by AlexAI-MCP on GitHub. Read the source before you install it.

Installation

Install the Llama Cpp AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/AlexAI-MCP/hermes-CCC/tree/master/skills/llama-cpp
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/AlexAI-MCP/hermes-CCC.git /tmp/hermes-CCC
mkdir -p .claude/skills
cp -r /tmp/hermes-CCC/skills/llama-cpp .claude/skills/llama-cpp
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Llama Cpp in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Llama Cpp on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Llama Cpp is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

llama.cpp

Purpose

  • Use this skill to run quantized GGUF models on laptops, workstations, and edge systems.
  • Prefer it when you need portable local inference without a heavyweight serving stack.
  • llama.cpp is especially useful for CPU-first deployments, low-cost GPU offload, and offline workflows.
  • Python users typically access it through llama-cpp-python.

Install

  • Fastest path for Python users:
bash
pip install llama-cpp-python
  • Build from source when you need custom acceleration backends or tighter platform control.
  • Source builds are common for CUDA, Metal, ROCm, Vulkan, and CPU-tuned environments.
  • Confirm the package imports successfully:
bash
python -c "from llama_cpp import Llama; print('ok')"

Model Format

  • llama.cpp primarily uses the GGUF model format.
  • GGUF packages tokenizer metadata, architecture settings, and quantized weights in one artifact.
  • Choose a GGUF variant that matches your hardware budget and quality target.

Download GGUF Models

  • Hugging Face is the standard source for GGUF checkpoints.

  • Common repos include:

  • bartowski/*

  • TheBloke/*

  • Typical examples:

  • bartowski/Llama-3.1-8B-Instruct-GGUF

  • TheBloke/Mistral-7B-Instruct-v0.2-GGUF

  • bartowski/Qwen2.5-7B-Instruct-GGUF

  • Store the downloaded file locally, for example:

  • models/llama-3.1-8b-instruct-q4_k_m.gguf

Quantization Levels

  • Q4_K_M: best balance for many local deployments

  • Q5_K_M: more quality, more RAM or VRAM

  • Q8_0: highest quality among common quantized options

  • Q2_K: very small, but quality drops sharply

  • Start with Q4_K_M unless you already know the task is quality-sensitive.

  • Move to Q5_K_M or Q8_0 for coding, reasoning, or long-form generation where quality matters more.

  • Use Q2_K only for extreme memory constraints or experiments.

Basic Python Usage

python
from llama_cpp import Llama

llm = Llama(
    model_path="models/llama-3.1-8b-instruct-q4_k_m.gguf",
    n_ctx=8192,
    n_threads=8,
    n_gpu_layers=0,
)

output = llm(
    "Explain why GGUF is useful for local inference.",
    max_tokens=256,
    temperature=0.7,
)

print(output["choices"][0]["text"])

Important Init Parameters

  • model_path: path to the .gguf file on disk

  • n_gpu_layers: number of transformer layers to offload to GPU

  • n_ctx: context size, constrained by the model and available memory

  • n_threads: CPU worker threads for prompt processing and generation

  • These four parameters are the first tuning knobs to adjust for almost every deployment.

Initialization Guidance

  • Keep model_path on a local SSD when possible.
  • Set n_threads close to the number of performant CPU cores, not necessarily total logical threads.
  • Increase n_ctx only after checking memory pressure.
  • Increase n_gpu_layers gradually if the model fails to load or performance is unstable.

Generation Call

  • Basic call shape:
python
result = llm(
    "Write a short checklist for running a local LLM service.",
    max_tokens=256,
    temperature=0.7,
)
  • Access the text with:
python
print(result["choices"][0]["text"])
  • Keep max_tokens bounded for interactive usage.
  • Use lower temperatures for summarization, extraction, and tool-style tasks.

Chat Format

  • For instruction-tuned models, prefer the chat API:
python
from llama_cpp import Llama

llm = Llama(
    model_path="models/qwen2.5-7b-instruct-q4_k_m.gguf",
    n_ctx=8192,
    n_gpu_layers=20,
    n_threads=8,
)

response = llm.create_chat_completion(
    messages=[
        {"role": "system", "content": "You are concise and technical."},
        {"role": "user", "content": "List three tradeoffs of 4-bit quantization."},
    ],
    max_tokens=256,
    temperature=0.4,
)

print(response["choices"][0]["message"]["content"])
  • Use the chat API when the model card says the checkpoint is chat-tuned or instruct-tuned.
  • Keep prompt templates aligned with the model family if outputs seem malformed.

Streaming Output

  • Stream tokens for responsive CLI or web applications:
python
stream = llm.create_chat_completion(
    messages=[
        {"role": "system", "content": "You are concise."},
        {"role": "user", "content": "Describe GPU offload in llama.cpp."},
    ],
    max_tokens=128,
    temperature=0.3,
    stream=True,
)

for chunk in stream:
    delta = chunk["choices"][0].get("delta", {})
    text = delta.get("content")
    if text:
        print(text, end="", flush=True)
  • Streaming is useful for chat UIs, terminals, and server-sent event bridges.

GPU Offload

  • n_gpu_layers=-1 means full GPU offload when supported by the backend and hardware.
  • You can also offload only the first N layers:
python
llm = Llama(
    model_path="models/mistral-7b-instruct-q5_k_m.gguf",
    n_ctx=8192,
    n_threads=8,
    n_gpu_layers=-1,
)
  • If full offload fails, try a partial value like 20, 30, or 40.
  • Partial offload is common on consumer GPUs with limited VRAM.

CPU-Only Example

python
from llama_cpp import Llama

llm = Llama(
    model_path="models/phi-3-mini-q4_k_m.gguf",
    n_ctx=4096,
    n_threads=12,
    n_gpu_layers=0,
)
  • CPU-only mode is viable for smaller models and latency-tolerant tasks.
  • It is a good fit for offline assistants, batch summarization, and test environments.

Context Size

  • n_ctx controls the context window in tokens.
  • Larger values increase RAM or VRAM usage.
  • The effective maximum depends on the model architecture, quantization, and rope scaling setup.
  • Do not assume every GGUF file supports the same long context as the original FP16 checkpoint.

Context Sizing Rule of Thumb

  • Start with 4096 or 8192.
  • Increase only after verifying memory headroom and prompt quality.
  • Very large n_ctx values can degrade throughput significantly.

OpenAI-Compatible Server

  • llama-cpp-python includes a server mode:
bash
python -m llama_cpp.server --model model.gguf
  • More realistic example:
bash
python -m llama_cpp.server \
  --model models/llama-3.1-8b-instruct-q4_k_m.gguf \
  --host 0.0.0.0 \
  --port 8000 \
  --n_ctx 8192
  • This is useful for local OpenAI-style integrations, prototypes, and thin service wrappers.
  • It is not as throughput-optimized as vLLM, but it is easy to run and distribute.

OpenAI Client Compatibility

  • Many local clients can target the server with an OpenAI-compatible base URL:
python
from openai import OpenAI

client = OpenAI(
    api_key="dummy",
    base_url="http://localhost:8000/v1",
)

resp = client.chat.completions.create(
    model="local-model",
    messages=[
        {"role": "system", "content": "You are concise."},
        {"role": "user", "content": "Summarize Q4_K_M vs Q8_0."},
    ],
    max_tokens=128,
)

print(resp.choices[0].message.content)

Build From Source

  • Build from source when:

  • you need CUDA acceleration not available in your wheel

  • you want Metal on macOS

  • you need a specific compiler or backend flag

  • you are packaging for a controlled deployment target

  • Source builds take more effort but often deliver better hardware utilization.

Model Families Commonly Used With GGUF

  • Llama

  • Qwen

  • Mistral

  • Phi

  • Gemma

  • Check the prompt format and tokenizer notes for each family before deploying.

Operational Tips

  • Keep a naming convention that encodes model, size, and quantization.
  • Store models outside the repo if they are large.
  • Benchmark both prompt evaluation speed and generation speed.
  • Use the smallest model that meets quality targets.
  • Prefer chat-tuned checkpoints for agentic or assistant workloads.

Common Errors

  • Model will not load:

  • verify model_path

  • verify the file is a GGUF checkpoint

  • verify the quantization is supported by your build

  • Very slow generation:

  • increase n_threads

  • enable GPU offload

  • reduce n_ctx

  • use a smaller model

  • Out-of-memory:

  • reduce n_ctx

  • choose Q4_K_M instead of Q8_0

  • reduce n_gpu_layers or use CPU-only mode

  • Bad chat formatting:

  • use create_chat_completion

  • verify the checkpoint is instruct-tuned

  • check whether the model expects a specific chat template

When To Use This Skill

  • You need fully local inference with minimal infrastructure.
  • You want a portable inference path for laptops or edge devices.
  • You are testing GGUF quantizations before wider deployment.
  • You need CPU inference or partial GPU offload instead of a GPU-only server.

Quick Reference

  • Install: pip install llama-cpp-python
  • Source build: use when you need custom acceleration
  • Load model: from llama_cpp import Llama
  • Key params: model_path, n_gpu_layers, n_ctx, n_threads
  • Generate: llm("prompt", max_tokens=256, temperature=0.7)
  • Chat: llm.create_chat_completion(messages=[...])
  • Server: python -m llama_cpp.server --model model.gguf
  • Best balance quant: Q4_K_M
  • Full GPU offload: n_gpu_layers=-1

Frequently asked questions

What does the Llama Cpp AI skill do?

Run quantized LLMs locally with llama.cpp — CPU+GPU inference, GGUF format, OpenAI-compatible server, and Python bindings.

Why use Llama Cpp on TypingMind?

Because you install it once and use it with any model. Llama Cpp is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Llama Cpp in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/AlexAI-MCP/hermes-CCC/tree/master/skills/llama-cpp. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Llama Cpp?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Llama Cpp?

As many as you like. As long as a model supports skills, you can use Llama Cpp with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Llama Cpp AI skill free?

Yes. It is published on GitHub by AlexAI-MCP under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇