Использованные материалы
Git: https://github.com/ggml-org/llama.cpp/tree/master/tools/server
Параграф Systemd Services из статьи Self-host LLMs in production with llama.cpp llama-server.
Важно
Все указанные в статье IP-адреса, это адреса моей домашней сети, менять на актуальные для себя по необходимости.
Установка CUDA Toolkit
sudo apt update
sudo apt install cmake curl libcurl4-openssl-dev
sudo apt install cuda-toolkit
sudo apt install nvidia-gds
# для cuda-compat не нашлось кандидатов на установку, но она опциональна и сервер собрался, запустился и работает без неё
sudo apt install cuda-compat
# перезагрузка обязательна
sudo reboot
Сборка llama-server
cd /srv
sudo git clone https://github.com/ggml-org/llama.cpp.git
sudo chown -R :andrey llama.cpp
sudo chmod -R g+w llama.cpp
cd llama.cpp
git config --global --add safe.directory /srv/llama.cpp
cmake -B build -DGGML_CUDA=ON
cmake --build build --config Release
После сборки все бинарники находятся в папке llama.cpp/build/bin.
Пробный запуск
/srv/llama.cpp/build/bin/llama-server --ctx-size 4096 --host 0.0.0.0 --port 8080 --gpu-layers 99 --model /srv/models/Meta-Llama-3.1-8B-Instruct-Q6_K.gguf
/srv/llama.cpp/build/bin/llama-server --host 0.0.0.0 --port 8080 --ctx-size 8192 --gpu-layers 99 --parallel 4 --jinja --model /srv/models/prog/DeepSeek-Coder-V2-Lite-Instruct-Q5_K_M.gguf
--jinja нужен для совместимости с Codex.
Чат ожидает вопросов по адресу http://192.168.168.15:8080.
Тестирование
В браузере заходим по адресу http://192.168.168.15:8080 и пробуем общаться. Работает, но медленно. Нужны оптимальный выбор LLM модели для устройства и подбор правильных параметров запуска llama-server.
Интерфейсы
Настройка
README.md
llama.cpp guide - Running LLMs locally, on any hardware, from scratch
Развёртывание Open LLMs с помощью LLAMA-CPP Server