llama.cpp
Pi поддерживает сервер маршрутизатора llama.cpp. Маршрутизатор обнаруживает несколько моделей GGUF и загружает или выгружает их по требованию.
Используйте текущую сборку llama.cpp с поддержкой маршрутизатора. Следуйте build instructions или установите prebuilt release для своей платформы.
Запустите маршрутизатор
Начните с llama-server без --model или -m. Передача модели запускает режим одной модели вместо режима маршрутизатора.
llama-server \
--models-dir ~/models \
--no-models-autoload \
--jinja \
--host 127.0.0.1 \
--port 8080 \
-ngl 999 \
-c 32768Важные параметры:
--models-dir ~/modelsобнаруживает локальные файлы GGUF.--no-models-autoloadпродолжает загружаться явно до/llama.--jinjaвключает совместимые шаблоны чата и вызов инструментов.-ngl 999выгружает как можно больше слоев в графический процессор.-c 32768устанавливает контекстное окно для каждой загруженной модели. Опустите его, чтобы использовать собственный контекст модели, для которого может потребоваться значительно больше памяти.
Однофайловая модель может находиться непосредственно в каталоге модели. Поместите мультимодальные и мультиосколочные модели в отдельные подкаталоги:
~/models/
├── llama-3.2-1b-Q4_K_M.gguf
├── gemma-3-4b-it-Q4_K_M/
│ ├── gemma-3-4b-it-Q4_K_M.gguf
│ └── mmproj-F16.gguf
└── large-model-Q4_K_M/
├── large-model-Q4_K_M-00001-of-00003.gguf
├── large-model-Q4_K_M-00002-of-00003.gguf
└── large-model-Q4_K_M-00003-of-00003.ggufПерезагрузите маршрутизатор после добавления файлов вручную. Для размеров контекста каждой модели и других параметров используйте llama.cpp model presets.
Настроить Pi
Запустите Pi и настройте провайдера:
/login llama.cppВведите URL-адрес маршрутизатора и необязательно API key. URL-адрес по умолчанию — http://127.0.0.1:8080.
Переменные среды могут устанавливать одни и те же значения без /login:
export LLAMA_BASE_URL=http://127.0.0.1:8080
export LLAMA_API_KEY=optional-secret
piЕсли сервер использует API key, начните llama-server с соответствующего значения --api-key. Сохраните --host 127.0.0.1 для локального доступа.
Управление моделями
Бегать:
/llama- Выберите выгруженную модель, чтобы загрузить ее.
- Выберите загруженную модель, чтобы выгрузить ее.
- Выберите Загрузить модель…, найдите Hugging Face, затем выберите репозиторий и квантование. Точные значения
owner/repository[:quant]также работают. - Нажмите Escape во время загрузки или скачивания, чтобы подтвердить отмену.
Поиск Hugging Face использует HF_TOKEN, если он установлен, затем проверяет $HF_TOKEN_PATH, $HF_HOME/token, $XDG_CACHE_HOME/huggingface/token и ~/.cache/huggingface/token. Поиск также работает без аутентификации, при условии соблюдения более низких ограничений скорости. Pi предупреждает перед загрузкой закрытых репозиториев и дает ссылку на их страницу доступа. Сервер llama.cpp выполняет загрузку, поэтому его процесс также должен иметь HF_TOKEN, когда выбранному репозиторию требуется доступ.
Если загружены другие модели, Pi спрашивает, следует ли сначала выгрузить их или оставить загруженными. Pi не выгружает модели автоматически и никогда не удаляет файлы моделей. Маршрутизатор может использоваться совместно с другими клиентами, поэтому /llama всегда отображает текущее состояние маршрутизатора.
В /model отображаются только загруженные модели. После загрузки модели запустите /model, чтобы выбрать ее для текущего сеанса Pi.
Если маршрутизатор отключается, /llama отображает Повторить и Закрыть. Повторная попытка повторно подключается и обновляет состояние модели без повторного воспроизведения прерванной операции.
Поиск неисправностей
Убедитесь, что маршрутизатор доступен:
curl http://127.0.0.1:8080/health
curl http://127.0.0.1:8080/models- Нет моделей в
/llama: Проверьте--models-dir, структуру каталога и перезапустите маршрутизатор. - Модель отсутствует в
/model: Сначала загрузите ее с помощью/llama. - Загрузка не удалась или используется слишком много памяти: Уменьшите
-cили выгрузите другую модель. - Сервер не в режиме маршрутизатора: Запустите его без
--model,-mили-hf.