Chuyển tới nội dung chính

{/* Trang này được tạo tự động từ SKILL.md của kỹ năng bởi website/scripts/generate-skill-docs.py. Chỉnh sửa nguồn SKILL.md, không phải trang này. */}

Llama Cpp

Llama.cpp suy luận GGUF cục bộ + khám phá mô hình Hub HF.

Siêu dữ liệu kỹ năng

NguồnĐi kèm (được cài đặt theo mặc định)
Đường dẫn

skills/mlops/inference/Llama-cpp ` | | Phiên bản |

2.1.2 ` | | Tác giả | Nghiên cứu dàn nhạc | | Giấy phép | MIT | | Phụ thuộc |

Llama-cpp-Python>=0.2.0 ` | | Nền tảng | Linux, macOS, Windows | | Thẻ |

Llama.cpp

, `GGUF

, `Quantization

, `Hugging Face Hub

, `CPU Inference

, `Apple Silicon

, `Edge Deployment

, `AMD GPUs

, `Intel GPUs

, `NVIDIA

, URL-first |

Tham khảo: đầy đủ SKILL.md

thông tin

Sau đây là định nghĩa kỹ năng đầy đủ mà Hermes tải khi kỹ năng này được kích hoạt. Đây là những gì tác nhân coi là hướng dẫn khi kỹ năng được kích hoạt.

Llama.cpp + GGUF

Sử dụng kỹ năng này để suy luận GGUF cục bộ, lựa chọn định lượng hoặc khám phá kho lưu trữ Hugging Face cho Llama.cpp.

Khi nào nên sử dụng

  • Chạy các mô hình cục bộ trên CPU, Apple Silicon, CUDA, ROCm hoặc GPU Intel
  • Tìm GGUF phù hợp cho repo Hugging Face cụ thể
  • Xây dựng lệnh Llama-server hoặc Llama-CLI từ Hub
  • Tìm kiếm các mô hình đã hỗ trợ Llama.cpp trong Hub
  • Liệt kê các tệp và kích thước

.gguf ` có sẵn cho một repo

  • Quyết định giữa các biến thể Q4/Q5/Q6/IQ cho RAM hoặc VRAM của người dùng

Quy trình khám phá mô hình

Ưu tiên quy trình công việc URL trước khi yêu cầu `hf

, Python hoặc tập lệnh tùy chỉnh.

  1. Tìm kiếm repo ứng viên trên Hub:
  2. Mở repo với chế độ xem ứng dụng cục bộ Llama.cpp:

`https://huggingface.co/<repo?local-app=Llama.cpp

  1. Hãy coi đoạn mã ứng dụng cục bộ là nguồn thông tin chính xác khi nó hiển thị:
    • sao chép chính xác lệnh Llama-server hoặc `Llama-CLI

    • báo cáo số lượng được đề xuất chính xác như HF hiển thị

  2. Đọc cùng một URL

?local-app=Llama.cpp dưới dạng văn bản trang hoặc HTML và trích xuất phần trong Hardware compatibility

:

  • thích nhãn số lượng và kích thước chính xác của nó hơn các bảng chung

  • giữ các nhãn dành riêng cho repo như UD-Q4_K_M hoặc `IQ4_NL_XL

  • nếu phần đó không hiển thị trong nguồn trang được tìm nạp, hãy nói như vậy và quay lại API cây cùng với hướng dẫn định lượng chung

  1. Truy vấn API cây để xác nhận những gì thực sự tồn tại:

`https://huggingface.co/API/models/<repo/tree/main?recursive=true

  • giữ các mục trong đó type file path kết thúc bằng

.gguf

  • sử dụng path size làm nguồn xác thực cho tên tệp và kích thước byte

  • tách biệt các điểm kiểm tra lượng tử hóa khỏi các tệp máy chiếu mmproj-*.gguf và các tệp phân đoạn `BF16/

  • chỉ sử dụng https://huggingface.co/<repo/tree/main làm dự phòng cho con người

  1. Nếu đoạn mã ứng dụng cục bộ không hiển thị bằng văn bản, hãy tạo lại lệnh từ kho lưu trữ cộng với lượng tử đã chọn:

    • Lựa chọn định lượng viết tắt: `Llama-server -hf <repo:<QUANT

    • dự phòng tệp chính xác: `Llama-server --hf-repo <repo --hf-file <filename.gguf

  2. Chỉ đề xuất chuyển đổi từ trọng lượng Transformers nếu kho lưu trữ chưa hiển thị tệp GGUF.

Bắt đầu nhanh

Cài đặt Llama.cpp


# macOS / Linux (simplest)
brew install Llama.cpp

`

`
``` bash
winget install Llama.cpp

`

`
`bash
git clone https://GitHub.com/ggml-org/Llama.cpp
cd Llama.cpp
cmake -B build
cmake --build build --config Release

`

### Chạy trực tiếp từ Hub ôm mặt

`bash
Llama-CLI -hf bartowski/Llama-3.2-3B-Instruct-GGUF:Q8_0

`

`
`bash
Llama-server -hf bartowski/Llama-3.2-3B-Instruct-GGUF:Q8_0

`

### Chạy tệp GGUF chính xác từ Hub

Sử dụng tính năng này khi API cây hiển thị cách đặt tên tệp tùy chỉnh hoặc thiếu đoạn mã HF chính xác.

`bash
Llama-server \

--hf-repo Microsoft/Phi-3-mini-4k-instruct-gguf \
--hf-file Phi-3-mini-4k-instruct-q4.gguf \
-c 4096

`

### Kiểm tra máy chủ tương thích với OpenAI

``` bash
curl http://localhost:8080/v1/chat/completions \

-H "Content-Type: application/JSON" \
-d '&#123;
"messages": [
\&#123;"role": "user", "content": "Write a limerick about Python exceptions"&#125;
]
&#125;'

`

## Liên kết Python (Llama-cpp-Python)

pip install Llama-cpp-Python
` (CUDA:
`CMAKE_ARGS="-DGGML_CUDA=on" pip install Llama-cpp-Python --force-reinstall --no-cache-dir

; Kim loại:
`CMAKE_ARGS="-DGGML_METAL=on" ...

).

### Thế hệ cơ bản

``` python
from Llama_cpp import Llama

LLM = Llama(
model_path="./model-q4_k_m.gguf",
n_ctx=4096,
n_gpu_layers=35, # 0 for CPU, 99 to offload everything
n_threads=8,
)

out = LLM("What is machine learning?", max_tokens=256, temperature=0.7)
print(out["choices"][0]["text"])

`

### Trò chuyện + phát trực tuyến

`Python
LLM = Llama(
model_path="./model-q4_k_m.gguf",
n_ctx=4096,
n_gpu_layers=35,
chat_format="Llama-3", # or "chatml", "Mistral", etc.
)

resp = LLM.create_chat_completion(
messages=[
\&#123;"role": "system", "content": "You are a helpful assistant."&#125;,
\&#123;"role": "user", "content": "What is Python?"&#125;,
],
max_tokens=256,
)
print(resp["choices"][0]["message"]["content"])

# Streaming
for chunk in LLM("Explain quantum computing:", max_tokens=256, stream=True):
print(chunk["choices"][0]["text"], end="", flush=True)

`

### Nhúng

`Python
LLM = Llama(model_path="./model-q4_k_m.gguf", embedding=True, n_gpu_layers=35)
vec = LLM.embed("This is a test sentence.")
print(f"Embedding dimension: \&#123;len(vec)&#125;")

`
``Bạn cũng có thể tải GGUF trực tiếp từ Hub:

`Python
LLM = Llama.from_pretrained(
repo_id="bartowski/Llama-3.2-3B-Instruct-GGUF",
filename="*Q4_K_M.gguf",
n_gpu_layers=35,
)

`

## Chọn số lượng

Sử dụng trang Hub trước tiên, thứ hai là sử dụng phương pháp chẩn đoán chung.- Ưu tiên định lượng chính xác mà HF đánh dấu là tương thích với cấu hình phần cứng của người dùng.

- Để trò chuyện chung, hãy bắt đầu với
`Q4_K_M

.
- Đối với công việc viết mã hoặc kỹ thuật, ưu tiên
`Q5_K_M
` hoặc
`Q6_K
` nếu bộ nhớ cho phép.
- Đối với ngân sách RAM rất eo hẹp, hãy xem xét các biến thể
`Q3_K_M

,
`IQ
` hoặc các biến thể
`Q2
` nếu người dùng rõ ràng ưu tiên sự phù hợp hơn là chất lượng.
- Đối với các kho lưu trữ đa phương thức, hãy đề cập riêng
`mmproj-*.gguf

. Máy chiếu không phải là tập tin mô hình chính.
- Không bình thường hóa nhãn gốc. Nếu trang ghi
`UD-Q4_K_M

, hãy báo cáo
`UD-Q4_K_M

.

## Trích xuất GGUF có sẵn từ kho lưu trữ

Khi người dùng hỏi GGUF tồn tại, hãy trả về:
- tên tập tin
- kích thước tập tin
- nhãn định lượng
- cho dù đó là model chính hay máy chiếu phụ

Bỏ qua trừ khi được yêu cầu:
- ĐỌC TÔI
- Tệp phân đoạn BF16
- các đốm màu iMatrix hoặc tạo tác hiệu chuẩn

Sử dụng API cây cho bước này:
-
`https://huggingface.co/API/models/&lt;repo/tree/main?recursive=true
``Đối với một repo như
`unsloth/Qwen3.6-35B-A3B-GGUF

, trang ứng dụng cục bộ có thể hiển thị các chip lượng tử như
`UD-Q4_K_M

,
`UD-Q5_K_M

,
`UD-Q6_K
`
`Q8_0

, trong khi API cây hiển thị các đường dẫn tệp chính xác như
`Qwen3.6-35B-A3B-UD-Q4_K_M.gguf
`
`Qwen3.6-35B-A3B-Q8_0.gguf
` với kích thước byte. Sử dụng API cây để biến nhãn định lượng thành tên tệp chính xác.

## Mẫu tìm kiếm

Sử dụng trực tiếp các hình dạng URL này:

``` text
https://huggingface.co/models?apps=Llama.cpp&sort=trending
https://huggingface.co/models?search=&lt;term&apps=Llama.cpp&sort=trending
https://huggingface.co/models?search=&lt;term&apps=Llama.cpp&num_parameters=min:0,max:24B&sort=trending
https://huggingface.co/&lt;repo?local-app=Llama.cpp
https://huggingface.co/API/models/&lt;repo/tree/main?recursive=true
https://huggingface.co/&lt;repo/tree/main

`

## Định dạng đầu ra

Khi trả lời các yêu cầu khám phá, hãy ưu tiên kết quả có cấu trúc nhỏ gọn như:

`text
Repo: &lt;repo
Recommended quant from HF: &lt;label (&lt;size)
Llama-server: &lt;command
Other GGUFs:

- &lt;filename - &lt;size
- &lt;filename - &lt;size
Source URLs:
- &lt;local-app URL
- &lt;tree API URL

`

## Tài liệu tham khảo
- **[hub-discovery.md](https://GitHub.com/NousResearch/Hermes-agent/blob/main/skills/mlops/inference/Llama-cpp/references/hub-discovery.md)** - Quy trình làm việc Ôm khuôn mặt chỉ có URL, mẫu tìm kiếm, trích xuất GGUF và xây dựng lại lệnh
- **[advanced-usage.md](https://GitHub.com/NousResearch/Hermes-agent/blob/main/skills/mlops/inference/Llama-cpp/references/advanced-usage.md)** — giải mã suy đoán, suy luận theo đợt, tạo giới hạn ngữ pháp, LoRA, đa GPU, bản dựng tùy chỉnh, tập lệnh điểm chuẩn
- **[quantization.md](https://GitHub.com/NousResearch/Hermes-agent/blob/main/skills/mlops/inference/Llama-cpp/references/quantization.md)** — cân bằng chất lượng số lượng, khi nào nên sử dụng Q4/Q5/Q6/IQ, chia tỷ lệ kích thước mô hình, iMatrix
- **[server.md](https://GitHub.com/NousResearch/Hermes-agent/blob/main/skills/mlops/inference/Llama-cpp/references/server.md)** — khởi chạy máy chủ trực tiếp từ Hub, điểm cuối API OpenAI, triển khai Docker, cân bằng tải NGINX, giám sát
- **[optimization.md](https://GitHub.com/NousResearch/Hermes-agent/blob/main/skills/mlops/inference/Llama-cpp/references/optimization.md)** — Phân luồng CPU, BLAS, chẩn đoán giảm tải GPU, điều chỉnh hàng loạt, điểm chuẩn
- **[troubleshooting.md](https://GitHub.com/NousResearch/Hermes-agent/blob/main/skills/mlops/inference/Llama-cpp/references/troubleshooting.md)** — vấn đề về cài đặt/chuyển đổi/số hóa/suy luận/máy chủ, Apple Silicon, gỡ lỗi

## Tài nguyên
- **GitHub**: https://GitHub.com/ggml-org/Llama.cpp
- **Hugging Face GGUF + tài liệu Llama.cpp**: https://huggingface.co/docs/hub/gguf-LlamACPp
- **Tài liệu ứng dụng ôm mặt cục bộ**: https://huggingface.co/docs/hub/main/local-apps
- **Tài liệu ôm mặt đại lý địa phương**: https://huggingface.co/docs/hub/agents-local
- **Ví dụ về trang ứng dụng cục bộ**: https://huggingface.co/unsloth/Qwen3.6-35B-A3B-GGUF?local-app=Llama.cpp
- **API cây ví dụ**: https://huggingface.co/API/models/unsloth/Qwen3.6-35B-A3B-GGUF/tree/main?recursive=true
- **Ví dụ tìm kiếm Llama.cpp**: https://huggingface.co/models?num_parameters=min:0,max:24B&apps=Llama.cpp&sort=trending
- **Giấy phép**: MIT