Hub documentation
Использование GGUF с llama.cpp
Использование 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 — и вперёд! 🦙