Настройка, расширение, параметры платформы и справочник API для Pi.

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.