Hub documentation

Использование GGUF с llama.cpp

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Использование GGUF с llama.cpp

Теперь вы можете развернуть любой GGUF, совместимый с llama.cpp, на Hugging Face Endpoints. Подробнее об этом можно прочитать здесь.

Llama.cpp позволяет загрузить и выполнить инференс на модели в формате GGUF, просто указав путь к репозиторию на Hugging Face и имя файла. llama.cpp скачивает контрольную точку модели и автоматически кэширует её. Расположение кэша определяется переменной окружения LLAMA_CACHE; подробнее об этом можно прочитать здесь.

Вы можете установить llama.cpp с помощью установщика на macOS и Linux, через WinGet на Windows или собрать его из исходного кода. См. официальную документацию для других вариантов установки, включая Docker.

Вариант 1: установка llama.cpp

На macOS и Linux:

curl -LsSf https://llama.app/install.sh | sh

В качестве альтернативы установите с помощью Homebrew:

brew install llama.cpp

На Windows используйте WinGet:

winget install llama.cpp

Вариант 2: сборка из исходного кода

Шаг 1: Клонируйте llama.cpp с GitHub.

git clone https://github.com/ggml-org/llama.cpp.git

Шаг 2: Перейдите в папку llama.cpp и соберите проект. Также можно добавить флаги, специфичные для конкретного оборудования (например, -DGGML_CUDA=1 для GPU Nvidia).

cd llama.cpp
cmake -B build   # optionally, add -DGGML_CUDA=ON to activate CUDA
cmake --build build --config Release -j --target llama-app

Примечание: для поддержки другого оборудования (например, AMD ROCm, Intel SYCL) обратитесь к руководству по сборке llama.cpp

Если вы собирали из исходного кода, используйте ./build/bin/llama вместо llama в командах ниже.

После установки вы можете использовать llama cli или llama serve следующим образом:

llama cli -hf bartowski/Llama-3.2-3B-Instruct-GGUF:Q8_0

Примечание: для режима «сырого» завершения (не чат-режим) используйте llama completion с -no-cnv вместо llama cli.

Кроме того, вы можете напрямую вызывать endpoint для chat completions по спецификации OpenAI, используя сервер llama.cpp:

llama serve -hf bartowski/Llama-3.2-3B-Instruct-GGUF:Q8_0 --port 8080

После запуска сервера вы можете просто использовать конечную точку следующим образом:

curl http://localhost:8080/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer no-key" \
-d '{
"messages": [
    {
        "role": "system",
        "content": "You are an AI assistant. Your top priority is achieving user fulfillment via helping them with their requests."
    },
    {
        "role": "user",
        "content": "Write a limerick about Python exceptions"
    }
  ]
}'

Замените -hf на любое корректное имя репозитория в Hugging Face hub — и вперёд! 🦙

Update on GitHub